php session应用实例 登录验证


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']; 
//执行SQL语句获得Session的值 
$query = @mysql_query("select username, userflag from users " 
."where username = '$username' and passcode = '$passcode'") 
or die("SQL语句执行失败"); 
//判断用户是否存在,密码是否正确 
if($row = mysql_fetch_array($query)) 
{ 
session_start(); //标志Session的开始 
//判断用户的权限信息是否有效,如果为1或0则说明有效 
if($row['userflag'] == 1 or $row['userflag'] == 0) 
{ 
$_SESSION['username'] = $row['username']; 
$_SESSION['userflag'] = $row['userflag']; 
echo "<a href="main.php" href="main.php">欢迎登录,点击此处进入欢迎界面</a>"; 
} 
else //如果权限信息无效输出错误信息 
{ 
echo "用户权限信息不正确"; 
} 
} 
else //如果用户名和密码不正确,则输出错误 
{ 
echo "用户名或密码错误"; 
} 
?>

<?php 
unset($_SESSION['username']); 
unset($_SESSION['passcode']); 
unset($_SESSION['userflag']); 
echo "注销成功"; 
?>

<?php 
session_start(); 
if(isset($_SESSION['username'])) 
{ 
@mysql_connect("localhost", "root","1981427") //选择数据库之前需要先连接数据库服务器 
or die("数据库服务器连接失败"); 
@mysql_select_db("test") //选择数据库mydb 
or die("数据库不存在或不可用"); 
//获取Session 
$username = $_SESSION['username']; 
//执行SQL语句获得userflag的值 
$query = @mysql_query("select userflag from users " 
."where username = '$username'") 
or die("SQL语句执行失败"); 
$row = mysql_fetch_array($query); 
//判断当前数据库中的权限信息与Session中的信息比较,如果不同则更新Session的信息 
if($row['userflag'] != $_SESSION['userflag']) 
{ 
$_SESSION['userflag'] = $row['userflag']; 
} 
//根据Session的值输出不同的欢迎信息 
if($_SESSION['userflag'] == 1) 
echo "欢迎管理员".$_SESSION['username']."登录系统"; 
if($_SESSION['userflag'] == 0) 
echo "欢迎用户".$_SESSION['username']."登录系统"; 
echo "<a href="logout.php" href="logout.php">注销</a>"; 
} 
else 
{ 
echo "您没有权限访问本页面"; 
} 
?>
PHP 相关文章推荐
PHP游戏编程25个脚本代码
Feb 08 PHP
php下拉选项的批量操作的实现代码
Oct 14 PHP
Laravel 4 初级教程之安装及入门
Oct 30 PHP
php简单分页类实现方法
Feb 26 PHP
php简单实现数组分页的方法
Apr 30 PHP
ThinkPHP中Common/common.php文件常用函数功能分析
May 20 PHP
PHP读取大文件末尾N行的高效方法推荐
Jun 03 PHP
PHP回调函数与匿名函数实例详解
Aug 16 PHP
Ajax中的JSON格式与php传输过程全面解析
Nov 14 PHP
php精度计算的问题解析
Jun 21 PHP
Laravel 不同生产环境服务器的判断实践
Oct 15 PHP
php实现统计IP数及在线人数的示例代码
Jul 22 PHP
php session处理的定制
Mar 16 #PHP
php session 检测和注销
Mar 16 #PHP
php session 预定义数组
Mar 16 #PHP
php 无限级缓存的类的扩展
Mar 16 #PHP
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
Mar 13 #PHP
PHP 文件类型判断代码
Mar 13 #PHP
php discuz 主题表和回帖表的设计
Mar 13 #PHP
You might like
分享50个提高PHP执行效率的技巧
2015/12/26 PHP
PHP批量去除BOM头内容信息代码
2016/03/11 PHP
深入认识JavaScript中的函数
2007/01/22 Javascript
javawscript 三级菜单的实现原理
2009/07/01 Javascript
javascript判断非数字的简单例子
2013/07/18 Javascript
js之事件冒泡和事件捕获详细介绍
2013/10/28 Javascript
Jquery实现Div上下移动示例
2014/04/23 Javascript
addEventListener 的用法示例介绍
2014/05/07 Javascript
JavaScript中Number.NEGATIVE_INFINITY值的使用详解
2015/06/05 Javascript
JavaScript中数据结构与算法(二):队列
2015/06/19 Javascript
跟我学习javascript的循环
2015/11/18 Javascript
基于jQuery实现select下拉选择可输入附源码下载
2016/02/03 Javascript
Jquery对新插入的节点 绑定Click事件失效的解决方法
2016/06/02 Javascript
基于Node的React图片上传组件实现实例代码
2017/05/10 Javascript
Three.js中网格对象MESH的属性与方法详解
2017/09/27 Javascript
vite2.0+vue3移动端项目实战详解
2021/03/03 Vue.js
[53:15]Newbee vs Pain 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
用Python中的字典来处理索引统计的方法
2015/05/05 Python
Python实现的选择排序算法示例
2017/11/29 Python
Python实现PS滤镜特效Marble Filter玻璃条纹扭曲效果示例
2018/01/29 Python
Python缓存技术实现过程详解
2019/09/25 Python
Python 实现一个计时器
2020/07/28 Python
Zooplus葡萄牙:欧洲领先的网上宠物商店
2018/07/01 全球购物
高尔夫球鞋、服装、手套和装备:FootJoy
2018/12/15 全球购物
高中生学习的自我评价
2013/12/14 职场文书
卫生安全检查制度
2014/02/04 职场文书
企业党员个人自我评价
2014/09/20 职场文书
教师党员承诺书2015
2015/01/21 职场文书
三八妇女节寄语
2015/02/27 职场文书
医德医风自我评价2015
2015/03/03 职场文书
情侣之间的道歉短信
2015/05/12 职场文书
行政处罚听证告知书
2015/07/01 职场文书
治庸问责工作总结
2015/08/11 职场文书
红领巾广播站广播稿
2015/08/19 职场文书
docker-compose部署Yapi的方法
2022/04/08 Servers
python游戏开发之pygame实现接球小游戏
2022/04/22 Python