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 相关文章推荐
10条PHP编程习惯助你找工作
Sep 29 PHP
php中将地址生成迅雷快车旋风链接的代码[测试通过]
Apr 20 PHP
php中使用Akismet防止垃圾评论的代码
Jun 10 PHP
探讨如何使用SimpleXML函数来加载和解析XML文档
Jun 07 PHP
php检测图片主要颜色的方法
Jul 01 PHP
微信公众平台开发之天气预报功能
Aug 31 PHP
php模板引擎技术简单实现
Mar 15 PHP
php数据访问之增删改查操作
May 09 PHP
浅析php如何实现App常用的秒发功能
Aug 03 PHP
mysql desc(DESCRIBE)命令实例讲解
Sep 24 PHP
Laravel (Lumen) 解决JWT-Auth刷新token的问题
Oct 24 PHP
thinkphp5实现微信扫码支付
Dec 23 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
WordPress中用于获取文章信息以及分类链接的函数用法
2015/12/18 PHP
菜鸟javascript基础资料整理3 正则
2010/12/06 Javascript
jQuery1.6 类型判断实现代码
2011/09/01 Javascript
使用GruntJS构建Web程序之Tasks(任务)篇
2014/06/06 Javascript
一段非常简单的js判断浏览器的内核
2014/08/17 Javascript
SeaJS 与 RequireJS 的差异对比
2014/12/08 Javascript
JavaScript设置body高度为浏览器高度的方法
2015/02/09 Javascript
JavaScript使用function定义对象并调用的方法
2015/03/23 Javascript
JS特效实现图片自动播放并可控的效果
2015/07/31 Javascript
第十篇BootStrap轮播插件使用详解
2016/06/21 Javascript
ES6记录异步函数的执行时间详解
2016/08/31 Javascript
微信小程序 视图层(xx.xml)和逻辑层(xx.js)详细介绍
2016/10/13 Javascript
jquery做个日期选择适用于手机端示例
2017/01/10 Javascript
微信小程序登录态控制深入分析
2017/04/12 Javascript
BootStrap下的弹出框加载select2框架失败的解决方法
2017/08/31 Javascript
JavaScript引用类型Date常见用法实例分析
2018/08/08 Javascript
webpack4+react多页面架构的实现
2018/10/25 Javascript
vue 实现小程序或商品秒杀倒计时
2019/04/14 Javascript
layUI实现列表查询功能
2019/07/27 Javascript
Vue 数组和对象更新,但是页面没有刷新的解决方式
2019/11/09 Javascript
[08:42]DOTA2每周TOP10 精彩击杀集锦vol.2
2014/06/25 DOTA
python中MySQLdb模块用法实例
2014/11/10 Python
Python中MySQLdb和torndb模块对MySQL的断连问题处理
2015/11/09 Python
将python图片转为二进制文本的实例
2019/01/24 Python
解决Python中定时任务线程无法自动退出的问题
2019/02/18 Python
python web框架Flask实现图形验证码及验证码的动态刷新实例
2019/10/14 Python
Tensorflow中批量读取数据的案列分析及TFRecord文件的打包与读取
2020/06/30 Python
移动端html5 meta标签的神奇功效
2016/01/06 HTML / CSS
一套比较完整的软件测试人员面试题
2012/05/13 面试题
什么是Web Service?
2012/07/25 面试题
大学生志愿者感言
2014/01/15 职场文书
解放思想大讨论活动心得体会
2014/09/11 职场文书
旷工检讨书大全
2015/08/15 职场文书
Vue3.0 手写放大镜效果
2021/07/25 Vue.js
JavaScript实现栈结构详细过程
2021/12/06 Javascript
人民币符号
2022/02/17 杂记