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 CLI模式下的多进程应用分析
Jun 03 PHP
php的慢速日志引起的Mysql错误问题分析
May 13 PHP
微信支付开发教程(一)微信支付URL配置
May 28 PHP
PHP缓存集成库phpFastCache用法
Dec 15 PHP
PHP中使用Imagick操作PSD文件实例
Jan 26 PHP
WordPress中is_singular()函数简介
Feb 05 PHP
Mac OS下配置PHP+MySql环境
Feb 25 PHP
PHP中addslashes与mysql_escape_string的区别分析
Apr 25 PHP
PHP 匿名函数与注意事项详细介绍
Nov 26 PHP
php实现微信支付之退款功能
May 30 PHP
php图片裁剪函数
Oct 31 PHP
phpStudy vscode 搭建debug调试的教程详解
Jul 28 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空间不支持socket但支持curl时recaptcha的用法
2011/11/07 PHP
php实现与python进行socket通信的方法示例
2017/08/30 PHP
PHPTree――php快速生成无限级分类
2018/03/30 PHP
php代码调试利器firephp安装与使用方法分析
2018/08/21 PHP
javascript FormatNumber函数实现方法
2008/12/30 Javascript
jquery 插件实现图片延迟加载效果代码
2010/02/06 Javascript
JavaScript 原型继承
2011/12/26 Javascript
js控制的遮罩层实例介绍
2013/05/29 Javascript
jquery解析XML字符串和XML文件的方法说明
2014/02/21 Javascript
js调用后台、后台调用前台等方法总结
2014/04/17 Javascript
当某个文本框成为焦点时即清除文本框内容
2014/04/28 Javascript
javaScript使用EL表达式的几种方式
2014/05/27 Javascript
jQuery中delegate()方法用法实例
2015/01/19 Javascript
Easyui Treegrid改变默认图标的方法
2016/04/29 Javascript
Javascript将字符串日期格式化为yyyy-mm-dd的方法
2016/10/27 Javascript
详解javascript中对数据格式化的思考
2017/01/23 Javascript
使用Webpack提高Vue.js应用的方式汇总(四种)
2017/07/10 Javascript
jQuery判断自定义属性data-val用法示例
2019/01/07 jQuery
JS操作JSON常用方法(10w阅读)
2020/12/06 Javascript
Vue 3自定义指令开发的相关总结
2021/01/29 Vue.js
[01:03:51]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第三场
2018/04/09 DOTA
python实现apahce网站日志分析示例
2014/04/02 Python
python生成器generator用法实例分析
2015/06/04 Python
python实现搜索指定目录下文件及文件内搜索指定关键词的方法
2015/06/28 Python
python下载图片实现方法(超简单)
2017/07/21 Python
Python 创建新文件时避免覆盖已有的同名文件的解决方法
2018/11/16 Python
Python列表list操作相关知识小结
2020/01/29 Python
使用Keras预训练模型ResNet50进行图像分类方式
2020/05/23 Python
浅谈matplotlib中FigureCanvasXAgg的用法
2020/06/16 Python
Expedia法国:全球最大在线旅游公司
2018/09/30 全球购物
英国最大的在线照明商店:Litecraft
2020/08/31 全球购物
估算杭州有多少软件工程师
2015/08/11 面试题
集中采购方案
2014/06/10 职场文书
2014年收银工作总结
2014/11/13 职场文书
传单、海报早OUT了,另类传单营销方案送给你!
2019/07/15 职场文书
python常见的占位符总结及用法
2021/07/02 Python