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 相关文章推荐
PHP学习笔记 用户注册模块用户类以及验证码类
Sep 20 PHP
PHP容易忘记的知识点分享
Apr 30 PHP
php获取新浪微博数据API实例
Nov 12 PHP
Server.HTMLEncode让代码在页面里显示为源代码
Dec 08 PHP
PHP中比较两个字符串找出第一个不同字符位置例子
Apr 08 PHP
php实现zip压缩文件解压缩代码分享(简单易懂)
May 10 PHP
一张表搞清楚php is_null、empty、isset的区别
Jul 07 PHP
PHP使用MPDF类生成PDF的方法
Dec 08 PHP
详解WordPress开发中用于获取分类及子页面的函数用法
Jan 08 PHP
深入了解PHP中的Array数组和foreach
Nov 06 PHP
基于Codeigniter框架实现的student信息系统站点动态发布功能详解
Mar 23 PHP
laravel框架 laravel-admin上传图片到oss的方法
Oct 13 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
《忧国的莫里亚蒂》先导宣传图与STAFF公开
2020/03/04 日漫
如何使用php判断所处服务器操作系统的类型
2013/06/20 PHP
浅析php适配器模式(Adapter)
2014/11/25 PHP
WebQQ最新登陆协议的用法
2014/12/22 PHP
php反射学习之依赖注入示例
2019/06/14 PHP
PHP设计模式之外观模式(Facade)入门与应用详解
2019/12/13 PHP
jQuery $.each的用法说明
2010/03/22 Javascript
JavaScript在IE和Firefox(火狐)的不兼容问题解决方法小结
2010/04/13 Javascript
Jquery优化效率 提升性能解决方案
2010/09/06 Javascript
Extjs优化(二)Form表单提交通用实现
2013/04/15 Javascript
JQuery 操作/获取table具体代码
2013/06/13 Javascript
js检测输入内容全为空格的方法
2014/05/03 Javascript
Jquery幻灯片特效代码分享--鼠标点击按钮时切换(1)
2015/08/15 Javascript
jQuery实现页面评论栏中访客信息自动填写功能的方法
2016/05/23 Javascript
BootStrap智能表单实战系列(七)验证的支持
2016/06/13 Javascript
微信小程序 网络API 上传、下载详解
2016/11/09 Javascript
ajax请求+vue.js渲染+页面加载的示例
2018/02/11 Javascript
socket在egg中的使用实例代码详解
2019/05/30 Javascript
纯 JS 实现放大缩小拖拽功能(完整代码)
2019/11/25 Javascript
python发送arp欺骗攻击代码分析
2014/01/16 Python
python数据预处理之将类别数据转换为数值的方法
2017/07/05 Python
Python在groupby分组后提取指定位置记录方法
2018/04/20 Python
python可视化实现代码
2019/01/15 Python
分析运行中的 Python 进程详细解析
2019/06/22 Python
Python实现Selenium自动化Page模式
2019/07/14 Python
python实现两个字典合并,两个list合并
2019/12/02 Python
波兰最大的电商平台:Allegro.pl
2021/02/06 全球购物
小学生安全保证书
2014/02/01 职场文书
建筑设计专业求职自我评价
2014/03/02 职场文书
物业管理工作方案
2014/05/10 职场文书
相亲大会策划方案
2014/06/05 职场文书
2015年学生会干事工作总结
2015/04/09 职场文书
2015年度质量工作总结报告
2015/04/27 职场文书
小学语文继续教育研修日志
2015/11/13 职场文书
Java面试题冲刺第十五天--设计模式
2021/08/07 面试题
Redis入门基础常用操作命令整理
2022/06/01 Redis