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 相关文章推荐
Apache2 httpd.conf 中文版
Dec 06 PHP
PHP+.htaccess实现全站静态HTML文件GZIP压缩传输(一)
Feb 15 PHP
php格式化工具Beautify PHP小小BUG
Apr 24 PHP
用PHP调用Oracle存储过程的方法
Sep 12 PHP
php插入中文到sqlserver 2008里出现乱码的解决办法分享
Jul 19 PHP
php下拉选项的批量操作的实现代码
Oct 14 PHP
ThinkPHP学习笔记(一)ThinkPHP部署
Jun 22 PHP
PHP数组操作类实例
Jul 11 PHP
PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结
Sep 14 PHP
10个超级有用的PHP代码片段果断收藏
Sep 23 PHP
CI框架中redis缓存相关操作文件示例代码
May 17 PHP
php fseek函数读取大文件两种方法
Oct 12 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检测字符串是否为UTF8编码的常用方法
2014/11/21 PHP
php判断当前用户已在别处登录的方法
2015/01/06 PHP
php中stdClass的用法分析
2015/02/27 PHP
PHP中ajax无刷新上传图片与图片下载功能
2017/02/21 PHP
关于IE、Firefox、Opera页面呈现异同 写脚本很痛苦
2009/08/28 Javascript
IE6下js通过css隐藏select的一个bug
2010/08/16 Javascript
jQuery的选择器中的通配符使用介绍
2014/03/20 Javascript
JavaScript中实现最高效的数组乱序方法
2014/10/11 Javascript
jQuery的context属性用法实例
2014/12/27 Javascript
AngularJS动态生成div的ID源码解析
2016/08/29 Javascript
Javascript中关于Array.filter()的妙用详解
2016/12/04 Javascript
JavaScript代码执行的先后顺序问题
2017/10/29 Javascript
javascript+Canvas实现画板功能
2020/06/23 Javascript
Python异常处理总结
2014/08/15 Python
Fabric 应用案例
2016/08/28 Python
Python实现网络端口转发和重定向的方法
2016/09/19 Python
Python实现简易Web爬虫详解
2018/01/03 Python
Python使用re模块实现信息筛选的方法
2018/04/29 Python
nohup后台启动Python脚本,log不刷新的解决方法
2019/01/14 Python
使用PyQt4 设置TextEdit背景的方法
2019/06/14 Python
通过PYTHON来实现图像分割详解
2019/06/26 Python
django 环境变量配置过程详解
2019/08/06 Python
Python3使用PySynth制作音乐的方法
2019/09/09 Python
利用CSS的Sass预处理器(框架)来制作居中效果
2016/03/10 HTML / CSS
雅诗兰黛香港官网:Estee Lauder香港
2017/09/26 全球购物
请写出char *p与"零值"比较的if语句
2014/09/24 面试题
毕业自我评价范文
2013/11/17 职场文书
室内设计专业毕业生求职信
2014/05/02 职场文书
家庭财产分割协议书范本
2014/11/24 职场文书
故意伤害辩护词
2015/05/21 职场文书
红灯733-1型14管5波段半导体收音机
2021/04/22 无线电
解决go在函数退出后子协程的退出问题
2021/04/30 Golang
JavaScript实现登录窗体
2021/06/22 Javascript
Java实现给Word文件添加文字水印
2022/02/15 Java/Android
《异世界四重奏》剧场版6月10日上映 PV视觉图原创角色发表
2022/03/20 日漫
MySQL聚簇索引和非聚簇索引的区别详情
2022/06/14 MySQL