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中根据变量的类型 选择echo或dump
Jul 05 PHP
PHP数据流应用的一个简单实例
Sep 14 PHP
php调整服务器时间的方法
Apr 03 PHP
php 问卷调查结果统计
Oct 08 PHP
php+mysql+jquery实现日历签到功能
Feb 27 PHP
php将html转为图片的实现方法
May 19 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
Nov 14 PHP
PHP检测接口Traversable用法详解
Dec 29 PHP
PHP实现基于PDO扩展连接PostgreSQL对象关系数据库示例
Mar 31 PHP
php实现小程序支付完整版
Oct 09 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
Apr 05 PHP
Laravel统一错误处理为JSON的方法介绍
Oct 18 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
解析mysql left( right ) join使用on与where筛选的差异
2013/06/18 PHP
php在apache环境下实现gzip配置方法
2015/04/02 PHP
php利用header函数下载各种文件
2016/08/24 PHP
基于yaf框架和uploadify插件,做的一个导入excel文件,查看并保存数据的功能
2017/01/24 PHP
PHP调用微博接口实现微博登录的方法示例
2018/09/22 PHP
JS event使用方法详解
2008/04/28 Javascript
JavaScript delete操作符应用实例
2009/01/13 Javascript
JavaScript 操作键盘的Enter事件(键盘任何事件),兼容多浏览器
2010/10/11 Javascript
js 创建书签小工具之理论
2011/02/25 Javascript
网页编辑器ckeditor和ckfinder配置步骤分享
2012/05/24 Javascript
jquery动态增加text元素以及删除文本内容实例代码
2013/07/01 Javascript
jquery实现可关闭的倒计时广告特效代码
2015/09/02 Javascript
基于javascript html5实现3D翻书特效
2016/03/14 Javascript
由简入繁实现Jquery树状结构的方法(推荐)
2016/06/10 Javascript
React Native 集成jpush-react-native的示例代码
2017/08/16 Javascript
vue :src 文件路径错误问题的解决方法
2018/05/15 Javascript
使用JS代码实现俄罗斯方块游戏
2018/08/03 Javascript
使用electron制作满屏心特效的示例代码
2018/11/27 Javascript
Vue-cli3简单使用(图文步骤)
2019/04/30 Javascript
Vue动态修改网页标题的方法及遇到问题
2019/06/09 Javascript
vue中使用v-for时为什么不能用index作为key
2020/04/04 Javascript
javascript全局自定义鼠标右键菜单
2020/12/08 Javascript
Python中exit、return、sys.exit()等使用实例和区别
2015/05/28 Python
深入理解Python3中的http.client模块
2017/03/29 Python
单链表反转python实现代码示例
2018/02/08 Python
代码实例讲解python3的编码问题
2019/07/08 Python
python中dict使用方法详解
2019/07/17 Python
python getpass实现密文实例详解
2019/09/24 Python
python自动化测试之异常及日志操作实例分析
2019/11/09 Python
python 输出列表元素实例(以空格/逗号为分隔符)
2019/12/25 Python
解决ROC曲线画出来只有一个点的问题
2020/02/28 Python
CSS Houdini实现动态波浪纹效果
2019/07/30 HTML / CSS
CSS3实现莲花绽放的动画效果
2020/11/06 HTML / CSS
2014年小学英语教师工作总
2014/12/03 职场文书
财务部岗位职责范本
2015/04/14 职场文书
彻底理解golang中什么是nil
2021/04/29 Golang