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的无限分类实现想法~
Jan 02 PHP
PHP中常用数组处理方法实例分析
Aug 30 PHP
php中$_REQUEST、$_POST、$_GET的区别和联系小结
Nov 23 PHP
PHP设计模式之迭代器模式的深入解析
Jun 13 PHP
详解PHP中的null合并运算符
Dec 30 PHP
PHP简单处理表单输入的特殊字符的方法
Feb 03 PHP
PHP排序算法之基数排序(Radix Sort)实例详解
Apr 21 PHP
Yii2 queue的队列使用详解
Jul 19 PHP
Laravel5.1 框架路由基础详解
Jan 04 PHP
php设计模式之建造器模式分析【星际争霸游戏案例】
Jan 23 PHP
php 下 html5 XHR2 + FormData + File API 上传文件操作实例分析
Feb 28 PHP
php设计模式之迭代器模式实例分析【星际争霸游戏案例】
Apr 07 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编写PDF文档生成器
2006/10/09 PHP
Codeigniter生成Excel文档的简单方法
2014/06/12 PHP
php使用数组填充下拉列表框的方法
2015/03/31 PHP
做网页的一些技巧
2007/02/01 Javascript
jQuery lazyload 的重复加载错误以及修复方法
2010/11/19 Javascript
js中return false(阻止)的用法
2013/08/14 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 图片库
2015/01/09 Javascript
jQuery实现自动与手动切换的滚动新闻特效代码分享
2015/08/27 Javascript
解读ES6中class关键字
2017/11/20 Javascript
浅谈Vue响应式(数组变异方法)
2018/05/07 Javascript
史上最为详细的javascript继承(推荐)
2019/05/18 Javascript
js实现拖拽元素选择和删除
2020/08/25 Javascript
python中查看变量内存地址的方法
2015/05/05 Python
python基础教程之匿名函数lambda
2017/01/17 Python
Python Pandas批量读取csv文件到dataframe的方法
2018/10/08 Python
pytorch中的embedding词向量的使用方法
2019/08/18 Python
自适应线性神经网络Adaline的python实现详解
2019/09/30 Python
基于YUV 数据格式详解及python实现方式
2019/12/09 Python
python代码xml转txt实例
2020/03/10 Python
Django如何使用jwt获取用户信息
2020/04/21 Python
为什么说python适合写爬虫
2020/06/11 Python
Python基于template实现字符串替换
2020/11/27 Python
DC Shoes俄罗斯官网:美国滑板鞋和服饰品牌
2020/08/19 全球购物
季度思想汇报
2014/01/01 职场文书
《愚公移山》教学反思
2014/02/20 职场文书
新闻专业毕业生英文求职信
2014/03/19 职场文书
祖国在我心中的演讲稿
2014/05/04 职场文书
大学生党员承诺书
2014/05/20 职场文书
班风口号
2014/06/18 职场文书
课外科技活动总结
2014/08/27 职场文书
预备党员个人总结
2015/02/14 职场文书
毛主席纪念堂观后感
2015/06/17 职场文书
大学组织委员竞选稿
2015/11/21 职场文书
2016猴年开门红标语口号
2015/12/26 职场文书
pandas中对文本类型数据的处理小结
2021/11/01 Python
MongoDB误操作后使用oplog恢复数据
2022/04/11 MongoDB