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 相关文章推荐
Apache中php.ini的设置方法
Feb 28 PHP
定义php常量的详解
Jun 09 PHP
使用PHP接收POST数据,解析json数据
Jun 28 PHP
PHP SPL标准库中的常用函数介绍
May 11 PHP
php中关于长度计算容易混淆的问题分析
May 27 PHP
thinkphp框架实现删除和批量删除
Jun 29 PHP
Yii2实现让关联字段支持搜索功能的方法
Aug 10 PHP
php fseek函数读取大文件两种方法
Oct 12 PHP
[原创]PHPCMS遭遇会员投稿审核无效的解决方法
Jan 11 PHP
PHP给源代码加密的几种方法汇总(推荐)
Feb 06 PHP
PHP生成随机数的方法总结
Mar 01 PHP
解决thinkPHP 5 nginx 部署时,只跳转首页的问题
Oct 16 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实现与ASP Banner组件相似的类
2006/10/09 PHP
收藏的一个php小偷的核心程序
2007/04/09 PHP
php异常处理技术,顶级异常处理器
2012/06/13 PHP
一个PHP二维数组排序的函数分享
2014/01/17 PHP
PHP实现的多维数组去重操作示例
2018/07/21 PHP
javascript 屏蔽鼠标键盘的几段代码
2008/01/02 Javascript
最近项目写了一些js,水平有待提高
2009/01/31 Javascript
用js将内容复制到剪贴板兼容浏览器
2014/03/18 Javascript
JavaScript实现鼠标点击后层展开效果的方法
2015/05/13 Javascript
浅谈javascript中return语句
2015/07/15 Javascript
jQuery获取radio选中项的值实例
2016/06/18 Javascript
JS实现环形进度条(从0到100%)效果
2016/07/05 Javascript
js操作浏览器的参数方法
2017/01/21 Javascript
JS触摸与手势事件详解
2017/05/09 Javascript
Node.js+ES6+dropload.js实现移动端下拉加载实例
2017/06/01 Javascript
Vue2.0 从零开始_环境搭建操作步骤
2017/06/14 Javascript
通过 JS 判断页面是否有滚动条的实现方法
2018/04/05 Javascript
JavaScript刷新页面的几种方法总结
2019/03/28 Javascript
python 运算符 供重载参考
2009/06/11 Python
Python3中常用的处理时间和实现定时任务的方法的介绍
2015/04/07 Python
python之文件读取一行一行的方法
2018/07/12 Python
tensorflow saver 保存和恢复指定 tensor的实例讲解
2018/07/26 Python
Python使用sorted对字典的key或value排序
2018/11/15 Python
对pyqt5多线程正确的开启姿势详解
2019/06/14 Python
Django上使用数据可视化利器Bokeh解析
2019/07/31 Python
使用Python实现分别输出每个数组
2019/12/06 Python
纯CSS改变webkit内核浏览器的滚动条样式
2014/04/17 HTML / CSS
HTML5 Canvas draw方法制作动画效果示例
2013/07/11 HTML / CSS
英国最大的线上保健品零售商之一:Vitamin Planet
2016/12/01 全球购物
Vince官网:全球著名设计师品牌,休闲而优雅的服饰
2017/01/15 全球购物
End Clothing美国站:英国男士潮牌商城
2018/04/20 全球购物
妈妈的账单教学反思
2014/02/06 职场文书
跑出一片天观后感
2015/06/08 职场文书
永远是春天观后感
2015/06/12 职场文书
祝福语集锦:给百岁老人祝寿贺词
2019/11/19 职场文书
拒绝盗图!教你怎么用python给图片加水印
2021/06/04 Python