-
php cookie登录验证代码
提供一款可以自动cookie登录方法,用户可以在登录时选择保存进程几天几个月等,我们只要进来页面时判断一下就KO了。
html页面
- <html>
- <head>
- <title>Login</title>
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
- </head>
- <body>
- <form name="form1" method="post" action="login.php">
- <table width="300" border="0" align="center" cellpadding="2" cellspacing="2">
- <tr>
- <td width="150"><div align="right">用户名:</div></td>
- <td width="150"><input type="text" name="username"></td>
- </tr>
- <tr>
- <td><div align="right">密码:</div></td>
- <td><input type="password" name="passcode"></td>
- </tr>
- <tr>
- <td><div align="right">Cookie保存时间:</div></td>
- <td><select name="cookie" id="cookie">
- <option value="0" selected>浏览器进程</option>
- <option value="1">保存1天</option>
- <option value="2">保存30天</option>
- <option value="3">保存365天</option>
- </select></td>
- </tr>
- </table>
- <p align="center">
- <input type="submit" name="Submit" value="Submit">
- <input type="reset" name="Reset" value="Reset">
- </p>
- </form>
- </body>
- </html>
login.php
- <?php
- @mysql_connect("localhost", "root","1981427") //选择数据库之前需要先连接数据库服务器
- or die("数据库服务器连接失败");
- @mysql_select_db("test") //选择数据库mydb
- or die("数据库不存在或不可用");
- //获取用户输入
- $username = $_POST['username'];
- $passcode = $_POST['passcode'];
- $cookie = $_POST['cookie'];
- //执行SQL语句
- $query = @mysql_query("select username, userflag from users "
- ."where username = '$username' and passcode = '$passcode'")
- or die("SQL语句执行失败");
- //判断用户是否存在,密码是否正确
- if($row = mysql_fetch_array($query))
- {
- if($row['userflag'] == 1 or $row['userflag'] == 0) //判断用户权限信息是否有效
- {
- switch($cookie) //根据用户的选择设置cookie保存时间
- {
- case 0: //保存Cookie为浏览器进程
- setcookie("username", $row['username']);
- break;
- case 1: //保存1天
- setcookie("username", $row['username'], time()+24*60*60);
- break;
- case 2: //保存30天
- setcookie("username", $row['username'], time()+30*24*60*60);
- break;
- case 3: //保存365天
- setcookie("username", $row['username'], time()+365*24*60*60);
- break;
- }
- header("location: main.php"); //自动跳转到main.php
- }
- else
- {
- echo "用户权限信息不正确";
- }
- }
- else
- {
- echo "用户名或密码错误";
- }
- ?>
main.php
- <?php
- session_start();
- if(isset($_COOKIE['username']))
- {
- @mysql_connect("localhost", "root","1981427") //选择数据库之前需要先连接数据库服务器
- or die("数据库服务器连接失败");
- @mysql_select_db("test") //选择数据库mydb
- or die("数据库不存在或不可用");
- //获取Session
- $username = $_COOKIE['username'];
- //执行SQL语句获得userflag的值
- $query = @mysql_query("select userflag from users "
- ."where username = '$username'")
- or die("SQL语句执行失败");
- $row = mysql_fetch_array($query);
- //获得用户权限信息
- $flag = $row['userflag'];
- //根据userflag的值输出不同的欢迎信息
- if($flag == 1)
- echo "欢迎管理员".$_SESSION['username']."登录系统";
- if($flag == 0)
- echo "欢迎用户".$_SESSION['username']."登录系统";
- echo "<a href="logout.php" mce_href="logout.php">注销</a>";
- }
- else
- {
- echo "您没有权限访问本页面";
- }
- ?>
logout.php
- <?php
- setcookie("username");
- echo "注销成功";
- ?>
出处:http://www.phpfensi.com/php/20131227/996.html
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式