本文實(shí)例講述了PHP 模擬登陸功能。分享給大家供大家參考,具體如下:
說(shuō)明:該模擬登陸實(shí)例僅適用于沒(méi)有驗(yàn)證碼的模擬登陸實(shí)例
該程序基本功能是,模擬登陸高校圖書館網(wǎng)站,并獲取讀者信息和借書信息。
程序截圖:
目錄結(jié)構(gòu):
login.php
form method="post" class="am-form" action="judge.php"> label for="sid">學(xué)號(hào):/label> input type="text" name="number" id="sid" value=""> br> label for="password">密碼:/label> input type="password" name="passwd" id="password" value=""> br> div class="am-cf"> input type="submit" name="" value="登 錄" class="am-btn am-btn-primary am-btn-sm am-fl"> input type="submit" name="" value="忘記密碼 ^_^? " class="am-btn am-btn-default am-btn-sm am-fr"> /div> /form>
judge.php
session_start(); require_once 'curl.php'; $url = "http://opac.lib.ustc.edu.cn/reader/redr_info.php"; $number = $_POST['number']; $passwd = $_POST['passwd']; $res = run_curl($url,$number,$passwd); $pattern = '/TD>span class=\"bluetext\">姓名:\/span>(.*)\/TD>/'; preg_match($pattern, $res,$arr1); if(is_array($arr1)){ $_SESSION['number'] = $number; $_SESSION['passwd'] = $passwd; $_SESSION['name'] = $arr1[1]; echo "script>window.location.href='index.php';/script>"; }else{ echo "script>history.go(-1);/script>"; }
curl.php
?php function run_curl($content_url,$number='',$passwd=''){ $cookie_file = tempnam('./temp','cookie'); $url = "http://opac.lib.ustc.edu.cn/reader/redr_verify.php"; $ch = curl_init($url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1); $post_fileds = "number=$numberpasswd=$passwdselect=bar_no"; curl_setopt($ch,CURLOPT_POST,1); curl_setopt($ch,CURLOPT_POSTFIELDS,$post_fileds); curl_setopt($ch,CURLOPT_COOKIEFILE,$cookie_file); curl_setopt($ch,CURLOPT_COOKIEJAR,$cookie_file); $content = curl_exec($ch); curl_close($ch); $ch = curl_init($content_url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1); curl_setopt($ch,CURLOPT_COOKIEFILE,$cookie_file); curl_setopt($ch,CURLOPT_COOKIEJAR,$cookie_file); $res = curl_exec($ch); curl_close($ch); return $res; }
index.php
?php session_start(); $number = $_SESSION['number']; $passwd = $_SESSION['passwd']; $username = $_SESSION['name']; if($number==''||$passwd==''||$username==''){ echo "script>window.location.href='login.php';/script>"; exit(); } require_once 'curl.php'; header('Content-type:text/html;charset=utf-8'); $url = "http://opac.lib.ustc.edu.cn/reader/book_lst.php"; $res = run_curl($url,$number,$passwd); //通過(guò)curl抓取數(shù)據(jù) $pattern = '/td class="whitetext" width="35%">a class="blue" href="(.*)" rel="external nofollow" >(.*)\/a>/';//正則匹配獲得圖書信息 preg_match_all($pattern, $res,$book_arr); $booklist = array(); $booklist = $book_arr[2]; //借閱圖書列表 //var_dump($booklist); $pattern = '/font color=(red|)>(.*)\/font>/';//正則匹配獲得還書信息 preg_match_all($pattern, $res,$date_arr); $datelist = array(); $datelist = $date_arr[2]; //應(yīng)歸還日期列表 $taglist = array(); $taglist = $date_arr[1]; //標(biāo)記是否超期 //var_dump($date_arr); ?>
logout.php
?php session_start(); $_SESSION = array(); session_destroy(); ?> script>window.location.href='login.php'/script>
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php curl用法總結(jié)》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》及《PHP中json格式數(shù)據(jù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
標(biāo)簽:黔東 梅河口 廈門 文山 濮陽(yáng) 湘西 惠州 海北
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP 模擬登陸功能實(shí)例詳解》,本文關(guān)鍵詞 PHP,模擬,登陸,功能,實(shí)例,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。