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设计模式  Command(命令模式)
Jun 17 PHP
学习php过程中的一些注意点的总结
Oct 25 PHP
php实现zip压缩文件解压缩代码分享(简单易懂)
May 10 PHP
常用的php图片处理类(水印、等比缩放、固定高宽)分享
Jun 19 PHP
实例详解PHP中html word 互转的方法
Jan 28 PHP
详解PHP的Yii框架中自带的前端资源包的使用
Mar 31 PHP
PHP编写简单的App接口
Aug 28 PHP
详解php中 === 的使用
Oct 24 PHP
利用laravel+ajax实现文件上传功能方法示例
Aug 13 PHP
ThinkPHP实现转换数据库查询结果数据到对应类型的方法
Nov 16 PHP
PHP学习记录之数组函数
Jun 01 PHP
PHP 扩展Memcached命令用法实例总结
Jun 04 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自动适应范围的分页代码
2008/08/05 PHP
php计算十二星座的函数代码
2012/08/21 PHP
php的ajax简单实例
2014/02/27 PHP
PHP不用递归遍历目录下所有文件的代码
2014/07/04 PHP
PHP数据库操作Helper类完整实例
2016/05/11 PHP
php微信公众平台开发之微信群发信息
2016/09/13 PHP
Yii2框架实现登录、退出及自动登录功能的方法详解
2017/10/24 PHP
window.parent与window.openner区别介绍
2012/04/12 Javascript
javascript五图轮播切换实用版
2012/08/17 Javascript
jquery和javascript的区别(常用方法比较)
2013/07/04 Javascript
JS实现时间格式化的方式汇总
2013/10/16 Javascript
jQuery中height()方法用法实例
2014/12/24 Javascript
浅谈jQuery.easyui的datebox格式化时间
2015/06/25 Javascript
Javascript编程之继承实例汇总
2015/11/28 Javascript
jQuery select自动选中功能实现方法分析
2016/11/28 Javascript
javascript垃圾收集机制的原理分析
2016/12/08 Javascript
性能优化之代码优化页面加载速度
2017/03/01 Javascript
vue cli 3.0 使用全过程解析
2018/06/14 Javascript
elementUI Vue 单个按钮显示和隐藏的变换功能(两种方法)
2018/09/04 Javascript
浅谈从React渲染流程分析Diff算法
2018/09/08 Javascript
Node.js+Express+Mysql 实现增删改查
2019/04/03 Javascript
Vue 3.0双向绑定原理的实现方法
2019/10/23 Javascript
VUE 单页面使用 echart 窗口变化时的用法
2020/07/30 Javascript
linux服务器快速卸载安装node环境(简单上手)
2021/02/22 Javascript
利用Python的Django框架中的ORM建立查询API
2015/04/20 Python
Django自定义认证方式用法示例
2017/06/23 Python
深入浅析Python 中 is 语法带来的误解
2019/05/07 Python
Python对接支付宝支付自实现功能
2019/10/10 Python
Python3 读取Word文件方式
2020/02/13 Python
详解CSS3+JS完美实现放大镜模式
2020/12/03 HTML / CSS
HTML5 图片悬停放大的实现代码示例
2019/12/04 HTML / CSS
全球速卖通巴西站点:Aliexpress巴西
2016/08/24 全球购物
亚洲最大的运动鞋寄售店:KicksCrew
2020/11/26 全球购物
中学生差生评语
2014/01/30 职场文书
Python基础详解之邮件处理
2021/04/28 Python
Python爬虫 简单介绍一下Xpath及使用
2022/04/26 Python