php cookie 登录验证示例代码


Posted in PHP onMarch 16, 2009
<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>

<?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 "用户名或密码错误"; 
} 
?>

<?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" href="logout.php">注销</a>"; 
} 
else 
{ 
echo "您没有权限访问本页面"; 
} 
?>

<?php 
setcookie("username"); 
echo "注销成功"; 
?>
PHP 相关文章推荐
一个捕获函数输出的函数
Feb 14 PHP
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
Jun 16 PHP
解析PHP中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思
Jun 28 PHP
CodeIgniter基本配置详细介绍
Nov 12 PHP
二进制交叉权限微型php类分享
Feb 07 PHP
thinkphp在模型中自动完成session赋值示例代码
Sep 09 PHP
php中实现可以返回多个值的函数实例
Mar 21 PHP
wamp服务器访问php非常缓慢的解决过程
Jul 01 PHP
phpMyAdmin安装并配置允许空密码登录
Jul 04 PHP
PHP定时执行任务的3种方法详解
Dec 21 PHP
php轻松实现文件上传功能
Mar 03 PHP
CodeIgniter记录错误日志的方法全面总结
May 17 PHP
php 删除cookie和浏览器重定向
Mar 16 #PHP
php cookis创建实现代码
Mar 16 #PHP
php session应用实例 登录验证
Mar 16 #PHP
php session处理的定制
Mar 16 #PHP
php session 检测和注销
Mar 16 #PHP
php session 预定义数组
Mar 16 #PHP
php 无限级缓存的类的扩展
Mar 16 #PHP
You might like
php魔法函数与魔法常量使用介绍
2017/07/23 PHP
实例介绍PHP删除数组中的重复元素
2019/03/03 PHP
PHP实现文件上传操作和封装
2020/03/04 PHP
javascript中利用数组实现的循环队列代码
2010/01/24 Javascript
Javascript表达式中连续的 &amp;&amp; 和 || 之赋值区别
2010/10/17 Javascript
关于JavaScript中原型继承中的一点思考
2012/07/25 Javascript
js 判断一个元素是否在页面中存在
2012/12/27 Javascript
Javascript中产生固定结果的函数优化技巧
2013/01/16 Javascript
JQuery日期插件datepicker的使用方法
2016/03/03 Javascript
jQuery中ScrollTo用法示例
2016/09/04 Javascript
easyui导出excel无法弹出下载框的快速解决方法
2016/11/10 Javascript
bootstrap多种样式进度条展示
2016/12/20 Javascript
nodejs实现发出蜂鸣声音(系统报警声)的方法
2017/01/18 NodeJs
Angular.JS中的指令引用template与指令当做属性详解
2017/03/30 Javascript
jQuery zTree搜索-关键字查询 递归无限层功能实现代码
2018/01/25 jQuery
JS中call和apply函数用法实例分析
2018/06/20 Javascript
vue使用localStorage保存登录信息 适用于移动端、PC端
2019/05/27 Javascript
使用imba.io框架得到比 vue 快50倍的性能基准
2019/06/17 Javascript
JS定时器如何实现提交成功提示功能
2020/06/12 Javascript
[58:54]EG vs RNG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
python获取当前计算机cpu数量的方法
2015/04/18 Python
python通过socket查询whois的方法
2015/07/18 Python
浅析Python的web.py框架中url的设定方法
2016/07/11 Python
火车票抢票python代码公开揭秘!
2018/03/08 Python
python使用多进程的实例详解
2018/09/19 Python
基于Python实现船舶的MMSI的获取(推荐)
2019/10/21 Python
python实现输出一个序列的所有子序列示例
2019/11/18 Python
创建Shapefile文件并写入数据的例子
2019/11/26 Python
python 发送邮件的示例代码(Python2/3都可以直接使用)
2020/12/03 Python
html5中audio支持音频格式的解决方法
2018/08/24 HTML / CSS
兰蔻美国官网:Lancome美国
2017/04/25 全球购物
八年级历史教学反思
2014/01/10 职场文书
统计系教授推荐信
2014/02/28 职场文书
面试通知单大全
2015/04/20 职场文书
2016年校园社会综合治理宣传月活动总结
2016/03/16 职场文书
详解MySQL中的主键与事务
2021/05/27 MySQL