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+mysql 实现身份验证代码
Mar 24 PHP
ajax完美实现两个网页 分页功能的实例代码
Apr 16 PHP
dhtmlxTree目录树增加右键菜单以及拖拽排序的实现方法
Apr 26 PHP
关于PHP模板Smarty的初级使用方法以及心得分享
Jun 21 PHP
php检测useragent版本示例
Mar 24 PHP
php获取URL中带#号等特殊符号参数的解决方法
Sep 02 PHP
使用PHP和HTML5 FormData实现无刷新文件上传教程
Sep 06 PHP
PHP获取一段文本显示点阵宽度和高度的方法
Mar 12 PHP
PHP中配置IIS7实现基本身份验证的方法
Sep 24 PHP
php微信公众账号开发之前五个坑(一)
Sep 18 PHP
PHP开发中解决并发问题的几种实现方法分析
Nov 13 PHP
redis+php实现微博(二)发布与关注功能详解
Sep 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
php 什么是PEAR?
2009/03/19 PHP
MYSQL 小技巧 -- LAST_INSERT_ID
2009/11/24 PHP
php 在windows下配置虚拟目录的方法介绍
2013/06/26 PHP
php封装的表单验证类完整实例
2016/10/19 PHP
javascript 表单的友好用户体现
2009/01/07 Javascript
js 表单提交后按钮变灰的实例代码
2013/08/16 Javascript
jquery显示隐藏元素的实现代码
2016/05/19 Javascript
轻松掌握JavaScript策略模式
2016/08/25 Javascript
bootstrap Validator 模态框、jsp、表单验证 Ajax提交功能
2017/02/17 Javascript
浅析 NodeJs 的几种文件路径
2017/06/07 NodeJs
PHP7新特性简述
2017/06/11 Javascript
vue实现点击当前标签高亮效果【推荐】
2018/06/22 Javascript
jQuery实现table表格信息的展开和缩小功能示例
2018/07/21 jQuery
js实现黑白div块画空心的图形
2018/12/13 Javascript
JavaScript变量提升和严格模式实例分析
2019/01/27 Javascript
vue 动态给每个页面添加title、关键词和描述的方法
2020/08/28 Javascript
原生js实现简单轮播图
2020/10/26 Javascript
Python实现的文本简单可逆加密算法示例
2017/05/18 Python
python如何让类支持比较运算
2018/03/20 Python
Python编写一个优美的下载器
2018/04/15 Python
python属于跨平台语言码
2020/06/09 Python
python简单实现9宫格图片实例
2020/09/03 Python
基于Python实现全自动下载抖音视频
2020/11/06 Python
利用CSS3的flexbox实现水平垂直居中与三列等高布局
2016/09/12 HTML / CSS
CSS中越界问题的经典解决方案【推荐】
2016/04/19 HTML / CSS
萨克斯第五大道英国:Saks Fifth Avenue英国
2019/04/01 全球购物
北京银河万佳Java面试题
2012/03/21 面试题
简单的JAVA编程面试题
2013/03/19 面试题
创建市级文明单位实施方案
2014/03/01 职场文书
房屋转让协议书
2014/04/11 职场文书
取保候审保证书
2014/04/30 职场文书
工地质量标语
2014/06/12 职场文书
给女朋友道歉的话大全
2015/01/20 职场文书
2015年“我们的节日·中秋节”活动总结
2015/07/30 职场文书
浅谈Nginx 中的两种限流方式
2021/03/31 Servers
使用 Apache Superset 可视化 ClickHouse 数据的两种方法
2021/07/07 Servers