<div class="codetitle"><a style="CURSOR: pointer" data="37528" class="copybut" id="copybut37528" onclick="doCopy('code37528')"> 代码如下:<div class="codebody" id="code37528"> <?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页面: <div class="codetitle"><a style="CURSOR: pointer" data="29242" class="copybut" id="copybut29242" onclick="doCopy('code29242')"> 代码如下:<div class="codebody" id="code29242"> <?php //启动session session_start(); //数据库连接 $conn=mysql_connect('localhost','**'); 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页面: <div class="codetitle"><a style="CURSOR: pointer" data="7216" class="copybut" id="copybut7216" onclick="doCopy('code7216')"> 代码如下:<div class="codebody" id="code7216"> <? 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="password" name="password"/> 验证码:<input type="code" name="code" size="10"/> <img src="imgcode.php">
<input type="submit" name="submit" value="登陆"/> <a href="http://127.0.0.1/test/denglu_link.php">denglu_link denglu_link.php页面: <div class="codetitle"><a style="CURSOR: pointer" data="46737" class="copybut" id="copybut46737" onclick="doCopy('code46737')"> 代码如下:<div class="codebody" id="code46737"> <? include("config.php"); $arr=user_shell($_SESSION['uid'],$_SESSION['user_shell']);//以上两句即可对权限进行判断 echo $arr['username']; ?> 权限内容
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|