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入门速成(2)
Oct 09 PHP
PHP 第一节 php简介
Apr 28 PHP
PHP序列号生成函数和字符串替换函数代码
Jun 07 PHP
通过5个php实例细致说明传值与传引用的区别
Aug 08 PHP
php简单获取文件扩展名的方法
Mar 24 PHP
浅谈PHP接收POST数据方式
Jun 05 PHP
PHP会话处理的10个函数
Aug 11 PHP
php实现概率性随机抽奖代码
Jan 02 PHP
PHP array_key_exists检查键名或索引是否存在于数组中的实现方法
Jun 13 PHP
PHP文件上传操作实例详解
Sep 27 PHP
PHP静态成员变量和非静态成员变量详解
Feb 14 PHP
PHP5.5基于mysqli连接MySQL数据库和读取数据操作实例详解
Feb 16 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
很实用的一个完整email发送程序
2006/10/09 PHP
PHP中error_reporting()用法详解
2015/08/31 PHP
面向对象的javascript(笔记)
2009/10/06 Javascript
javascript实现TreeView 无刷新展开的实例代码
2013/07/13 Javascript
node.js实现逐行读取文件内容的代码
2014/06/27 Javascript
javascript使用数组的push方法完成快速排序
2014/09/15 Javascript
Ajax与服务器(JSON)通信实例代码
2016/11/05 Javascript
js省市区级联查询(插件版&amp;无插件版)
2017/03/21 Javascript
HTML的select控件美化
2017/03/27 Javascript
vuejs手把手教你写一个完整的购物车实例代码
2017/07/06 Javascript
微信小程序实现MUI数字输入框效果
2018/01/31 Javascript
Vuex 快速入门(简单易懂)
2018/09/20 Javascript
深入浅析js原型链和vue构造函数
2018/10/25 Javascript
在JavaScript中实现链式调用的实现
2019/12/24 Javascript
vue 在methods中调用mounted的实现操作
2020/08/07 Javascript
详解Vue的组件中data选项为什么必须是函数
2020/08/17 Javascript
react-intl实现React国际化多语言的方法
2020/09/27 Javascript
ES6的循环与可迭代对象示例详解
2021/01/31 Javascript
[57:55]完美世界DOTA2联赛PWL S3 Magma vs Phoenix 第二场 12.12
2020/12/16 DOTA
解决Python2.7读写文件中的中文乱码问题
2018/04/12 Python
Python WEB应用部署的实现方法
2019/01/02 Python
python利用小波分析进行特征提取的实例
2019/01/09 Python
Python 数据库操作 SQLAlchemy的示例代码
2019/02/18 Python
Python3实现的反转单链表算法示例
2019/03/08 Python
详解Python 爬取13个旅游城市,告诉你五一大家最爱去哪玩?
2019/05/07 Python
python3.5 cv2 获取视频特定帧生成jpg图片
2019/08/28 Python
Python requests设置代理的方法步骤
2020/02/23 Python
Origins悦木之源英国官网:雅诗兰黛集团高端植物护肤品牌
2017/11/06 全球购物
Ralph Lauren法国官网:美国高品味时装品牌
2017/12/08 全球购物
澳大利亚运动鞋零售商:The Athlete’s Foot
2018/11/04 全球购物
德国2018年度最佳在线药房:Bodfeld Apotheke
2019/11/04 全球购物
adidas菲律宾官网:adidas PH
2020/02/07 全球购物
读书演讲主持词
2014/03/18 职场文书
财务管理制度范本
2015/08/04 职场文书
Javascript 解构赋值详情
2021/11/17 Javascript
浅析Python中的随机采样和概率分布
2021/12/06 Python