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 5.3.1 安装包 VC9 VC6不同版本的区别是什么
Jul 04 PHP
php跨域cookie共享使用方法
Feb 20 PHP
PHP实现自动登入google play下载app report的方法
Sep 23 PHP
php+mysqli使用面向对象方式查询数据库实例
Jan 29 PHP
PHP借助phpmailer发送邮件
May 11 PHP
ThinkPHP V2.2说明文档没有说明的那些事实例小结
Jul 01 PHP
PHPExcel简单读取excel文件示例
May 26 PHP
php 使用curl模拟登录人人(校内)网的简单实例
Jun 06 PHP
php使用函数pathinfo()、parse_url()和basename()解析URL
Nov 25 PHP
完美解决thinkphp唯一索引重复时出错的问题
Mar 31 PHP
tp5 实现列表数据根据状态排序
Oct 18 PHP
php7 错误处理机制修改实例分析
May 25 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 win下Socket方式发邮件类
2009/08/21 PHP
PHP之短标签开启设置
2013/06/17 PHP
Yii中的cookie的发送和读取
2016/07/27 PHP
php将文件夹打包成zip文件的简单实现方法
2016/10/04 PHP
详解阿里云视频直播PHP-SDK接入教程
2020/07/09 PHP
JavaScript 新手24条实用建议[TUTS+]
2009/06/21 Javascript
firebug的一个有趣现象介绍
2011/11/30 Javascript
JQuery结合CSS操作打印样式的方法
2013/12/24 Javascript
使用jquery菜单插件HoverTree仿京东无限级菜单
2014/12/18 Javascript
jQuery实现的产品自动360度旋转展示特效源码分享
2015/08/21 Javascript
jQuery+css3实现转动的正方形效果(附demo源码下载)
2016/01/27 Javascript
Node.js模块封装及使用方法
2016/03/06 Javascript
jQuery简单实现title提示效果示例
2016/08/01 Javascript
BootStrap入门教程(二)之固定的内置样式
2016/09/19 Javascript
Boostrap栅格系统与自己额外定义的媒体查询的冲突问题
2017/02/19 Javascript
jquery单击文字或图片内容放大并居中显示
2017/06/23 jQuery
详解Angular-cli生成组件修改css成less或sass的实例
2017/07/27 Javascript
vue-star评星组件开发实例
2018/03/01 Javascript
javascript的this关键字详解
2019/05/20 Javascript
[01:13]DOTA2群星解读国服召集令 一起说出回归的理由
2013/07/17 DOTA
Python实现抓取页面上链接的简单爬虫分享
2015/01/21 Python
对pandas中apply函数的用法详解
2018/04/10 Python
Python实现统计给定列表中指定数字出现次数的方法
2018/04/11 Python
python实现QQ空间自动点赞功能
2019/04/09 Python
pywinauto自动化操作记事本
2019/08/26 Python
python lambda表达式在sort函数中的使用详解
2019/08/28 Python
pip/anaconda修改镜像源,加快python模块安装速度的操作
2021/03/04 Python
纯CSS3制作的鼠标悬停时边框旋转
2017/01/03 HTML / CSS
html5 乒乓球(碰撞检测)实例二
2013/07/25 HTML / CSS
菲律宾旅游网站:Expedia菲律宾
2017/10/11 全球购物
法拉利英国精品店:Ferraris Boutique UK
2019/07/20 全球购物
手机促销活动方案
2014/02/05 职场文书
人民教师求职自荐信
2014/03/12 职场文书
中华美德颂演讲稿
2014/05/20 职场文书
镇党委书记群众路线整改措施思想汇报
2014/10/13 职场文书
个人批评与自我批评范文
2014/10/17 职场文书