php 模拟登录验证码demo(PHP 模拟登陆功能实例详解)
类别:编程学习 浏览量:2990
时间:2021-10-28 10:44:58 php 模拟登录验证码demo
PHP 模拟登陆功能实例详解本文实例讲述了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>
- <li 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">
- </li>
- </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=$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
- <?php
- session_start();
- $_SESSION = array();
- session_destroy();
- ?>
- <script>window.location.href='login.php'</script>
希望本文所述对大家PHP程序设计有所帮助。
原文链接:https://blog.csdn.net/koastal/article/details/50273997
您可能感兴趣
- phpmysql完全学习手册教程(Windows下搭建PHP开发环境Apache+PHP+MySQL)
- vuephp后台开发框架(Vue+thinkphp5.1+axios实现文件上传)
- php开发技巧和方法(php+ajax实现商品对比功能示例)
- jqueryajax实现部分刷新(php+jQuery ajax实现的实时刷新显示数据功能示例)
- php调试用什么工具好(调试php程序的简单步骤)
- php执行语句(PHP goto语句用法实例)
- php支付系统(php实现的支付宝网页支付功能示例基于TP5框架)
- php设置上传文件代码(PHP大文件切割上传并带进度条功能示例)
- php的数据类型约束的好处(PHP中的Iterator迭代对象属性详解)
- phpstudy使用教程(phpstudy是什么)
- php语言程序设计基础面向对象(PHP面向对象程序设计之对象的遍历操作示例)
- phpstudy创建本地服务器(phpstudy linux小皮面板防火墙的开启与关闭)
- php 设置sessionid生成机制(PHP Cli 模式设置进程名称的方法)
- dede模板手机端显示设置(DEDE模板中如何运行php脚本和变量在需要操作数据库字段时)
- 深入理解php 变量(不常用但很实用的PHP预定义变量分析)
- thinkphp分页效果怎样(thinkphp5+layui实现的分页样式示例)
- 菲律宾潜水(菲律宾潜水价格)
- 泰国人妖(变性手术生殖器要割掉吗)
- 泰国美女(泰国人妖和女性如何区分)
- 泰国旅游业怎么样(泰国的旅游产业)
- 越南新娘(越南新娘婚介网站)
- 越南新娘(越南新娘骗婚套路流程)
热门推荐
- SQL SERVER数据库状态
- python的三维画图(python处理DICOM并计算三维模型体积)
- 香港云主机推荐(香港云主机租用如何选择操作系统?)
- 视图平滑动画(菜单栏 “三” 变形为“X”css3过渡动画)
- html正确的颜色表达方式(HTML文本属性&颜色控制属性的实现)
- dedecms 添加单页(织梦dedecms内页、详情页中调用文章作者信息的方法)
- php100种算法(php实现的生成排列算法示例)
- python将字符串转换为时间格式(Python时间和字符串转换操作实例分析)
- css如何制作动画效果(CSS制作三角形广告引导文字效果)
- python读取文件的正确方法(强悍的Python读取大文件的解决方案)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9