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程序员的技术瓶颈分析
Jul 17 PHP
PHP实现的博客欢迎提示功能(很特别哦)
Jun 05 PHP
php集成套件服务器xampp安装使用教程(适合第一次玩PHP的新手)
Jun 03 PHP
以文件形式缓存php变量的方法
Jun 26 PHP
64位windows系统下安装Memcache缓存
Dec 06 PHP
PHP入门教程之上传文件实例详解
Sep 11 PHP
PHP 根据key 给二维数组分组
Dec 09 PHP
Yii2表单事件之Ajax提交实现方法
May 04 PHP
PHP完全二叉树定义与实现方法示例
Oct 09 PHP
PHP基于cookie实现统计在线人数功能示例
Jan 16 PHP
解决Laravel5.5下的toArray问题
Oct 15 PHP
ThinkPHP5.1+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
PHP中创建空文件的代码[file_put_contents vs touch]
2012/01/20 PHP
ThinkPHP里用U方法调用js文件实例
2015/06/18 PHP
编写PHP程序检查字符串中的中文字符个数的实例分享
2016/03/17 PHP
php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例
2016/05/28 PHP
Laravel5中Cookie的使用详解
2017/05/03 PHP
PHP 中 var_export、print_r、var_dump 调试中的区别
2018/06/19 PHP
PHP iconv()函数字符编码转换的问题讲解
2019/03/22 PHP
用Javscript实现表单复选框的全选功能
2007/05/25 Javascript
js实现权限树的更新权限时的全选全消功能
2009/02/17 Javascript
jQuery之排序组件的深入解析
2013/06/19 Javascript
jquery处理json数据实例分析
2014/06/03 Javascript
NodeJs基本语法和类型
2015/02/13 NodeJs
JavaScript文档碎片操作实例分析
2015/12/12 Javascript
jQuery实现拖拽页面元素并将其保存到cookie的方法
2016/06/12 Javascript
vue实现ajax滚动下拉加载,同时具有loading效果(推荐)
2017/01/11 Javascript
浅谈js基础数据类型和引用类型,深浅拷贝问题,以及内存分配问题
2017/09/02 Javascript
nodejs基于WS模块实现WebSocket聊天功能的方法
2018/01/12 NodeJs
vue基于element的区间选择组件
2018/09/07 Javascript
vue观察模式浅析
2018/09/25 Javascript
vue proxy 的优势与使用场景实现
2020/06/15 Javascript
JavaScript 闭包的使用场景
2020/09/17 Javascript
[03:49]辉夜杯现场龙骑士COSER秀情商“我喜欢芬队!”
2015/12/27 DOTA
Python2与Python3的区别实例总结
2019/04/17 Python
python使用配置文件过程详解
2019/12/28 Python
python操作redis数据库的三种方法
2020/09/10 Python
Pycharm github配置实现过程图解
2020/10/13 Python
css3与html5实现响应式导航菜单(导航栏)效果分享
2014/02/12 HTML / CSS
Web前端页面跳转并取到值
2017/04/24 HTML / CSS
《乞巧》教学反思
2014/02/27 职场文书
毕业晚会主持词
2014/03/24 职场文书
建筑工程造价专业自荐信
2014/07/08 职场文书
摄影专业毕业生求职信
2014/08/05 职场文书
医院护士党的群众路线教育实践活动对照检查材料思想汇报
2014/10/04 职场文书
普通党员个人剖析材料
2014/10/08 职场文书
2015年社区关工委工作总结
2015/04/03 职场文书
创业计划书详解
2019/07/19 职场文书