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 相关文章推荐
Ext.data.PagingMemoryProxy分页一次性读取数据的实现代码
Apr 07 PHP
php使用mb_check_encoding检查字符串在指定的编码里是否有效
Nov 07 PHP
php递归获取目录内文件(包含子目录)封装类分享
Dec 25 PHP
php操作mysql数据库的基本类代码
Feb 25 PHP
支持生僻字且自动识别utf-8编码的php汉字转拼音类
Jun 27 PHP
php中base_convert()进制数字转换函数实例
Nov 20 PHP
初识laravel5
Mar 02 PHP
PHP 反射(Reflection)使用实例
May 12 PHP
几个优化WordPress中JavaScript加载体验的插件介绍
Dec 17 PHP
yii使用activeFileField控件实现上传文件与图片的方法
Dec 28 PHP
yii2中添加验证码的实现方法
Jan 09 PHP
PHP+Mysql无刷新问答评论系统(源码)
Dec 20 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 magic_quotes_gpc的使用方法详解
2013/06/24 PHP
关于js与php互相传值的介绍
2013/06/25 PHP
zend framework框架中url大小写问题解决方法
2014/08/19 PHP
PHP中addslashes()和stripslashes()实现字符串转义和还原用法实例
2016/01/07 PHP
YII Framework教程之异常处理详解
2016/03/14 PHP
javascript 主动派发事件总结
2011/08/09 Javascript
jQuery动态地获取系统时间实现代码
2013/05/24 Javascript
IE6 hack for js 集锦
2014/09/23 Javascript
JS插件overlib用法实例详解
2015/12/26 Javascript
详解从新建vue项目到引入组件Element的方法
2017/08/29 Javascript
Vue.js自定义指令学习使用详解
2019/10/19 Javascript
js消除图片小游戏代码
2019/12/11 Javascript
vue中用 async/await 来处理异步操作
2020/07/18 Javascript
在Echarts图中给坐标轴加一个标识线markLine
2020/07/20 Javascript
Python实现登录人人网并抓取新鲜事的方法
2015/05/11 Python
Python实现批量将word转html并将html内容发布至网站的方法
2015/07/14 Python
使用python验证代理ip是否可用的实现方法
2018/07/25 Python
python 将json数据提取转化为txt的方法
2018/10/26 Python
十分钟搞定pandas(入门教程)
2019/06/21 Python
python将类似json的数据存储到MySQL中的实例
2019/07/12 Python
解决Django 在ForeignKey中出现 non-nullable field错误的问题
2019/08/06 Python
python selenium爬取斗鱼所有直播房间信息过程详解
2019/08/09 Python
wxPython:python首选的GUI库实例分享
2019/10/05 Python
Python爬取爱奇艺电影信息代码实例
2019/11/26 Python
Python中Subprocess的不同函数解析
2019/12/10 Python
Pyecharts 动态地图 geo()和map()的安装与用法详解
2020/03/25 Python
什么是makefile? 如何编写makefile?
2013/01/02 面试题
社区志愿者心得体会
2014/01/03 职场文书
法律六进活动方案
2014/03/13 职场文书
幼儿园社区活动总结
2014/07/07 职场文书
暑期社会实践证明书
2014/11/17 职场文书
委托证明范本
2014/11/25 职场文书
观看禁毒宣传片后的感想
2015/08/11 职场文书
2016学习依法治国心得体会
2016/01/15 职场文书
nginx请求限制配置方法
2021/07/09 Servers
vue中 this.$set的使用详解
2021/11/17 Vue.js