侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

PHP 模拟登陆功能实例详解

2022-06-29 星期三 / 0 评论 / 0 点赞 / 56 阅读 / 4978 字

本文实例讲述了PHP 模拟登陆功能。分享给大家供大家参考,具体如下:说明:该模拟登陆实例仅适用于没有验证码的模拟登陆实例该程序基本功能是,模拟登陆高校图书馆网站,并获取读者信息和借书信息。程序截图:目录结构:login.

本文实例讲述了PHP 模拟登陆功能。分享给大家供大家参考,具体如下:

说明:该模拟登陆实例仅适用于没有验证码的模拟登陆实例

该程序基本功能是,模拟登陆高校图书馆网站,并获取读者信息和借书信息。

程序截图:

目录结构:

login.php

.
<form method="post" class="am-form" action="judge.php">   <label for="sid">学号:</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

.
<?phpfunction 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=$number&passwd=$passwd&select=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); //通过curl抓取数据  $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];  //应归还日期列表  $taglist = array();  $taglist = $date_arr[1];  //标记是否超期  //var_dump($date_arr);?>
.

logout.php

.
<?phpsession_start();$_SESSION = array();session_destroy();?><script>window.location.href='login.php'</script>
.

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php curl用法总结》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP数据结构与算法教程》及《PHP中json格式数据操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

广告 广告

评论区