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聊天室技术
Oct 09 PHP
Linux下进行MYSQL编程时插入中文乱码的解决方案
Mar 15 PHP
PHP开发中常用的8个小技巧
Aug 27 PHP
php关于array_multisort多维数组排序的使用说明
Jan 04 PHP
php 如何获取数组第一个值
Aug 06 PHP
ThinkPHP中使用ajax接收json数据的方法
Dec 18 PHP
Yii数据读取与跳转参数传递用法实例分析
Jul 12 PHP
php排序算法实例分析
Oct 17 PHP
PHP+iframe图片上传实现即时刷新效果
Nov 18 PHP
在Laravel5.6中使用Swoole的协程数据库查询
Jun 15 PHP
PHP getNamespaces()函数讲解
Feb 03 PHP
PHP新手指南
Apr 01 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 404错误页面实现代码
2009/06/22 PHP
smarty表格换行实例
2014/12/15 PHP
php获取远程文件内容的函数
2015/11/02 PHP
win7安装php框架Yii的方法
2016/01/25 PHP
Yii2中DropDownList简单用法示例
2016/07/18 PHP
thinkPHP js文件中U方法不被解析问题的解决方法
2016/12/05 PHP
PHP实现的文件操作类及文件下载功能示例
2016/12/24 PHP
Javascript中Eval函数的使用
2010/03/23 Javascript
Jquery 动态添加按钮实现代码
2010/05/06 Javascript
jquery 弹出层注册页面等(asp.net后台)
2010/06/17 Javascript
菜鸟javascript基础整理1
2010/12/06 Javascript
Jquery实现鼠标移上弹出提示框、移出消失思路及代码
2013/05/19 Javascript
在线一元二次方程计算器实例(方程计算器在线计算)
2013/12/22 Javascript
在AngularJS中使用jQuery的zTree插件的方法
2016/04/21 Javascript
由简入繁实现Jquery树状结构的方法(推荐)
2016/06/10 Javascript
全面理解闭包机制
2016/07/11 Javascript
Bootstrap基本组件学习笔记之分页(12)
2016/12/08 Javascript
JavaScript比较同一天的时间大小实例代码
2018/02/09 Javascript
js正则表达式校验指定字符串的方法
2018/07/23 Javascript
JavaScript的级联函数用法简单示例【链式调用】
2019/03/26 Javascript
Layui给switch添加响应事件的例子
2019/09/03 Javascript
python uuid模块使用实例
2015/04/08 Python
教你用Python脚本快速为iOS10生成图标和截屏
2016/09/22 Python
python中numpy的矩阵、多维数组的用法
2018/02/05 Python
Python3模拟登录操作实例分析
2019/03/12 Python
在pycharm中实现删除bookmark
2020/02/14 Python
西班牙在线光学:Visual-Click
2020/06/22 全球购物
Linux Interview Questions For software testers
2012/06/02 面试题
大学生自我鉴定
2013/12/16 职场文书
经济管理专业求职信
2014/06/09 职场文书
政工例会汇报材料
2014/08/26 职场文书
诉讼代理人授权委托书
2014/10/11 职场文书
导游词欢迎词
2015/02/02 职场文书
会计求职自荐信范文
2015/03/04 职场文书
2016自主招生教师推荐信范文
2015/03/23 职场文书
青涩记忆观后感
2015/06/18 职场文书