PHP+MYSQL会员系统的登陆即权限判断实现代码


Posted in PHP onSeptember 23, 2011
<?php 
error_reporting(0); 
session_start(); 
//数据库连接 
$conn = mysql_connect('localhost', 'root', ''); 
mysql_select_db('chenkun', $conn); 
mysql_query('SET NAMES UTF-8'); 
//定义常量 
define('ALL_PS', 'PHP'); 
function user_shell($uid, $shell, $m_id) { 
$sql = "select * from admin where uid='$uid'"; 
$query = mysql_query($sql); 
$row = mysql_fetch_array($query); 
$shell = is_array($row) ? $shell == md5($row['username'] . $row['password'] . ALL_PS) : FALSE; 
if ($shell) { 
if ($row['m_id'] <= $m_id) { 
return $row; 
} 
echo "你的权限不足"; 
exit (); 
} else { 
echo "你无权限访问该页"; 
exit (); 
} 
} 
function user_mktime($onlinetime) { 
$new_time = mktime(); 
if (($new_time - $onlinetime) > '900') { 
session_destroy(); 
echo "登陆超时"; 
exit (); 
} else { 
$_SESSION['times'] = mktime(); 
} 
} 
?>

PHP+MYSQL会员系统的登陆即权限判断
包含三个页面,cogfig页面是被包含页面。denglu页面负责提交,session赋值等,denglu_link页面负责权限判断的演示。
本例事先已存在test数据库,user_list表,表中有uid,m_id,username,password四个字段。并且password字段已经经过md5加密,形式是:md5("用户密码".ALL_PS),即用户输入的密码加常量进行加密。
config.php页面:
<?php 
//启动session 
session_start(); 
//数据库连接 
$conn=mysql_connect('localhost','root','******'); 
mysql_select_db('test',$conn); 
//定义常量 
define("ALL_PS","php100"); 
//判断权限函数 
function user_shell($uid,$shell){ 
$sql="SELECT * FROM `user_list` WHERE `uid` = '$uid'"; 
$query=mysql_query($sql); 
$exist=is_array($row=mysql_fetch_array($query)); 
$exist2=$exist?$shell==md5($row['username'].$row['password'].ALL_PS):FALSE; 
if($exist2){ 
return $row; 
}else{ 
echo "你无权限访问该页"; 
exit(); 
} 
} 
?>

denglu.php页面:
<? 
include("config.php"); 
if($_POST['submit']){ 
$username=str_replace(" ","",$_POST['username']); //去除空格 
$sql="SELECT * FROM `user_list` WHERE `username` = '$username'"; 
$query=mysql_query($sql); 
$exist=is_array($row=mysql_fetch_array($query)); //判断是否存在这样一个用户 
$exist2=$exist?md5($_POST['password'].ALL_PS)==$row['password']:FALSE;//判断密码 
if($exist2){ 
$_SESSION['uid']=$row['uid']; // session赋值 
$_SESSION['user_shell']=md5($row['username'].$row['password'].ALL_PS); 
echo "登陆成功"; 
}else{ 
echo "不正确的用户名"; 
SESSION_DESTROY(); 
} 
} 
?> 
<form action="" method="post"> 
用户名:<input type="text" name="username" /><br> 
密码:<input type="password" name="password"/><br> 
验证码:<input type="code" name="code" size="10"/> 
<img src="imgcode.php"><br><br> 
<input type="submit" name="submit" value="登陆"/> 
</form> 
<a href="http://127.0.0.1/test/denglu_link.php">denglu_link</a>

denglu_link.php页面:
<? 
include("config.php"); 
$arr=user_shell($_SESSION['uid'],$_SESSION['user_shell']);//以上两句即可对权限进行判断 
echo $arr['username']; 
?> 
权限内容

PHP 相关文章推荐
php中json_encode中文编码问题分析
Sep 13 PHP
php数组函数序列之array_combine() - 数组合并函数使用说明
Oct 29 PHP
有关PHP中MVC的开发经验分享
May 17 PHP
浅析PHP绘图技术
Jul 03 PHP
浅析ThinkPHP中的pathinfo模式和URL重写
Jan 06 PHP
ThinkPHP3.1之D方法实例详解
Jun 20 PHP
ThinkPHP验证码和分页实例教程
Aug 22 PHP
php在线解压ZIP文件的方法
Dec 30 PHP
PHP之密码加密的几种方式
Jul 29 PHP
PHP面向对象之领域模型+数据映射器实例(分析)
Jun 21 PHP
PHP/ThinkPHP实现批量打包下载文件的方法示例
Jul 31 PHP
PHP实现通过二维数组键值获取一维键名操作示例
Oct 11 PHP
PHP将DateTime对象转化为友好时间显示的实现代码
Sep 20 #PHP
php方法调用模式与函数调用模式简例
Sep 20 #PHP
php若干单维数组遍历方法的比较
Sep 20 #PHP
PHP学习笔记 用户注册模块用户类以及验证码类
Sep 20 #PHP
PHP无刷新上传文件实现代码
Sep 19 #PHP
PHP通过正则表达式下载图片到本地的实现代码
Sep 19 #PHP
PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码
Sep 19 #PHP
You might like
PHP目录函数实现创建、读取目录教程实例
2011/01/13 PHP
php ci框架中加载css和js文件失败的原因及解决方法
2014/07/29 PHP
功能强大的PHP图片处理类(水印、透明度、旋转)
2015/10/21 PHP
PHP带节点操作的无限分类实现方法详解
2016/11/09 PHP
JavaScript 基础知识 被自己遗忘的
2009/10/15 Javascript
前淘宝前端开发工程师阿当的PPT中有JS技术理念问题
2010/01/15 Javascript
利用javascript的面向对象的特性实现限制试用期
2011/08/04 Javascript
使用js的replace()方法查找字符示例代码
2013/10/28 Javascript
jQuery select表单提交省市区城市三级联动核心代码
2014/06/09 Javascript
浅谈JavaScript字符串与数组
2015/06/03 Javascript
微信小程序点击控件修改样式实例详解
2017/07/07 Javascript
VUE前端cookie简单操作
2017/10/17 Javascript
使用express获取微信小程序二维码小记
2019/05/21 Javascript
vuex + keep-alive实现tab标签页面缓存功能
2019/10/17 Javascript
vue 解决IOS10低版本白屏的问题
2020/11/17 Javascript
原生js实现自定义滚动条
2021/01/20 Javascript
[48:21]林俊杰圣堂刺客超神杀戮秀
2014/10/29 DOTA
[01:11:15]VGJ.S vs Secret 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python获得一个月有多少天的方法
2015/06/04 Python
python去除空格和换行符的实现方法(推荐)
2017/01/04 Python
python基础之入门必看操作
2017/07/26 Python
django实现用户登陆功能详解
2017/12/11 Python
使用python将大量数据导出到Excel中的小技巧分享
2018/06/14 Python
对python实现模板生成脚本的方法详解
2019/01/30 Python
对Python的多进程锁的使用方法详解
2019/02/18 Python
OpenCV HSV颜色识别及HSV基本颜色分量范围
2019/03/22 Python
python 的 scapy库,实现网卡收发包的例子
2019/07/23 Python
简单的Python人脸识别系统
2020/07/14 Python
兰蔻美国官网:Lancome美国
2017/04/25 全球购物
李维斯牛仔裤荷兰官方网站:Levi’s NL
2020/08/23 全球购物
天游软件面试
2013/11/23 面试题
工程项目建议书范文
2014/03/12 职场文书
学校就业推荐信范文
2014/05/19 职场文书
党员干部廉洁承诺书
2014/05/28 职场文书
学校党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
2015年汽车销售员工作总结
2015/07/24 职场文书