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简单命令代码集锦
Sep 24 PHP
php空间不支持socket但支持curl时recaptcha的用法
Nov 07 PHP
php cli模式学习(PHP命令行模式)
Jun 03 PHP
php中的路径问题与set_include_path使用介绍
Feb 11 PHP
php定义一个参数带有默认值的函数实例分析
Mar 16 PHP
php抓取网站图片并保存的实现方法
Oct 29 PHP
Joomla简单判断用户是否登录的方法
May 04 PHP
PHP  Yii清理缓存的实现方法
Nov 10 PHP
php微信公众号js-sdk开发应用
Nov 28 PHP
PHP实现将标点符号正则替换为空格的方法
Aug 09 PHP
asp函数split()对应php函数explode()
Feb 27 PHP
Laravel实现ORM带条件搜索分页
Oct 24 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 ajax 静态分页过程形式
2011/09/02 PHP
php修改文件上传限制方法汇总
2015/04/07 PHP
PHP基于DOM创建xml文档的方法示例
2017/02/08 PHP
CI(CodeIgniter)框架实现图片上传的方法
2017/03/24 PHP
PHP操作Postgresql封装类与应用完整实例
2018/04/24 PHP
使用composer 安装 laravel框架的方法图文详解
2019/08/02 PHP
js的with语句使用方法
2007/09/21 Javascript
javascript 可以拖动的DIV(二)
2009/06/26 Javascript
js实现倒计时(距离结束还有)示例代码
2013/07/24 Javascript
js仿黑客帝国字母掉落效果代码分享
2020/11/08 Javascript
每天一篇javascript学习小结(面向对象编程)
2015/11/20 Javascript
jquery插件之文字间歇自动向上滚动效果代码
2016/02/25 Javascript
JS制作图形验证码实现代码
2020/10/19 Javascript
jquery+css3问卷答题卡翻页动画效果示例
2016/10/26 Javascript
canvas知识总结
2017/01/25 Javascript
JavaScript 函数节流详解及方法总结
2017/02/09 Javascript
JS对象深度克隆实例分析
2017/03/16 Javascript
Node接收电子邮件的实例代码
2017/07/21 Javascript
Vue官网todoMVC示例代码
2018/01/29 Javascript
element ui 表格动态列显示空白bug 修复方法
2018/09/04 Javascript
jQuery控制input只能输入数字和两位小数的方法
2019/05/16 jQuery
[54:10]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
[55:44]OG vs NAVI 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
完美解决python遍历删除字典里值为空的元素报错问题
2016/09/11 Python
Python 实现文件的全备份和差异备份详解
2016/12/27 Python
Python3 XML 获取雅虎天气的实现方法
2018/02/01 Python
解决PyCharm不运行脚本,而是运行单元测试的问题
2019/01/17 Python
如何使用Python标准库进行性能测试
2019/06/25 Python
python fuzzywuzzy模块模糊字符串匹配详细用法
2019/08/29 Python
PyCharm License Activation激活码失效问题的解决方法(图文详解)
2020/03/12 Python
Python爬取阿拉丁统计信息过程图解
2020/05/12 Python
Python 如何调试程序崩溃错误
2020/08/03 Python
实例讲解CSS3中的box-flex弹性盒属性布局
2016/06/09 HTML / CSS
荣耀俄罗斯官网:HONOR俄罗斯
2020/10/31 全球购物
博士生专家推荐信
2015/03/25 职场文书
Python 数据科学 Matplotlib图库详解
2021/07/07 Python