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 相关文章推荐
杏林同学录(六)
Oct 09 PHP
采用PHP函数memory_get_usage获取PHP内存清耗量的方法
Dec 06 PHP
简单的方法让你的后台登录更加安全(php中加session验证)
Aug 22 PHP
Yii实现多按钮保存与提交的方法
Dec 03 PHP
使用新浪微博API的OAuth认证发布微博实例
Mar 27 PHP
php常用表单验证类用法实例
Jun 18 PHP
列举PHP的Yii 2框架的开发优势
Jul 03 PHP
Yii2――使用数据库操作汇总(增删查改、事务)
Dec 19 PHP
用PHP的socket实现客户端到服务端的通信实例详解
Feb 04 PHP
php中青蛙跳台阶的问题解决方法
Oct 14 PHP
Laravel实现通过blade模板引擎渲染视图
Oct 25 PHP
tp5框架基于Ajax实现列表无刷新排序功能示例
Feb 10 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
SONY ICF-SW7600的电路分析
2021/03/02 无线电
php 获取可变函数参数的函数
2009/08/26 PHP
phplock(php进程锁) v1.0 beta1
2009/11/24 PHP
php实现俄罗斯乘法实例
2015/03/07 PHP
深入浅析用PHP实现MVC
2016/03/02 PHP
解决PHP上传非标准格式的图片pjpeg失败的方法
2017/03/12 PHP
js日期时间补零的小例子
2013/03/05 Javascript
顶部缓冲下拉菜单导航特效的JS代码
2013/08/27 Javascript
使用JavaScript进行进制转换将字符串转换为十进制
2014/09/21 Javascript
纯javascript判断查询日期是否为有效日期
2015/08/24 Javascript
jquery中取消和绑定hover事件的实现代码
2016/06/02 Javascript
jQuery+ajax实现实用的点赞插件代码
2016/07/06 Javascript
AngularJS中比较两个数组是否相同
2016/08/24 Javascript
BootStrap便签页的简单应用
2017/01/06 Javascript
浅谈JS封闭函数、闭包、内置对象
2017/07/18 Javascript
jQuery实现的简单拖拽功能示例【测试可用】
2018/08/14 jQuery
JS实现使用POST方式发送请求
2019/08/30 Javascript
javascript合并两个数组最简单的实现方法
2019/09/14 Javascript
vue 获取url里参数的两种方法小结
2020/11/12 Javascript
对python使用telnet实现弱密码登录的方法详解
2019/01/26 Python
详解Python做一个名片管理系统
2019/03/14 Python
解决Python安装时报缺少DLL问题【两种解决方法】
2019/07/15 Python
python 代码实现k-means聚类分析的思路(不使用现成聚类库)
2020/06/01 Python
Python如何基于Tesseract实现识别文字功能
2020/06/05 Python
python能做哪些生活有趣的事情
2020/09/09 Python
英文版餐饮运营管理求职信
2013/11/06 职场文书
二年级体育教学反思
2014/01/15 职场文书
初中校园广播稿
2014/02/02 职场文书
社区党务公开实施方案
2014/03/18 职场文书
2015年打非治违工作总结
2015/04/02 职场文书
高三毕业感言
2015/07/30 职场文书
干部理论学习心得体会
2016/01/21 职场文书
2019中小学生安全过暑期倡议书
2019/06/24 职场文书
python基础之while循环语句的使用
2021/04/20 Python
python图像处理基本操作总结(PIL库、Matplotlib及Numpy)
2021/06/08 Python
Redis实战高并发之扣减库存项目
2022/04/14 Redis