PHP会员登录,和判断用户权限,登录超时踢除用户

来源:互联网 发布:电脑安装录音软件 编辑:程序博客网 时间:2024/05/01 11:12
php100视频里的一个会员登录系统实例,虽然很小,但里面的一些基本功能实现还是不错的,分为三个文件,如下:config.php<?phpsession_start(); $conn=mysql_connect('localhost','root','a123456') or die("连接错误"); mysql_select_db("xuexi",$conn) or die("数据库错误"); mysql_query("set names'utf8'"); define(ALL_PS,"ljzhen");//为ljzhen在做加密,保证用户的安全性。  function user_shell($uid,$shell,$yid){   //这里定义了变量  $sql="select * from login_user where `uid`='$uid'";  $query=mysql_query($sql);  $us=is_array($row=mysql_fetch_array($query));  $shell=$us ? $shell=md5($row[username].$row[userpass].ALL_PS) :FALSE;  if($shell){   if($row[yid]<=$yid){   //判断用户权限,条件满足时,即可访问该页面    return $row;   }else{    echo "你的权限不足,无法访问该那面";    echo "<a href="login.php" mce_href="login.php">返回【查看权限】重新登陆</a>";    exit();   }  }else{   echo "你无权限访问该页面!";   echo "<a href="login.php" mce_href="login.php">返回重新登陆</a>";   exit();  } } function user_mktime($onlinetime){  $new_time=mktime();  echo $new_time-$onlinetime;  //当前时间减去用户登陆时间  if($new_time-$onlinetime>'100'){   //判断登陆时间超过我们制定时间后,自动踢出!   echo "登陆超时";   session_destroy();//清除session中的值   exit();  }else{   $_SESSION[times]=mktime();  //及时更新时间,即用户有操作页面时,重新计算时间  } }?>login.php<?php include("config.php");@header("content-type:text/html; charset=UTF-8");////echo md5("admin".ALL_PS);//采用admin和前面的LJZHEN同时加密if($_POST[submit]){ $username=str_replace(" ","",$_POST[username]); $sql="select * from login_user where `username`='$username'"; $query=mysql_query($sql); $us=is_array($row=mysql_fetch_array($query));//这里判断用户名是否为真 $ps= $us ? md5($_POST[password].ALL_PS)==$row[userpass] : FALSE;//这里判断用户名和密码是否为真 if($ps){   //这里对$ps进行判断  $_SESSION[uid]=$row[uid];  //获取ID存入SESSION  $_SESSION[user_shell]=md5($row[username].$row[userpass].ALL_PS);  //这里在对用户和密码进一层加密  $_SESSION[times]=mktime();  echo "<a href="login_sys.php" mce_href="login_sys.php">登陆成功,点击【进入】操作</a>"; }else{  echo "用户名或密码错误!";  session_destroy(); }}?><?php//echo $_SESSION[uid];//echo $_SESSION[uname];?>  <form action="" method="post""> 用户:  <input type="text" name="username" size="40" maxlength="40"/>  <br/>    密码:  <input type="text" name="password" size="40" maxlength="40"/>  <br/>  <input type="submit" name="submit" value="登陆" style="width:50px; height:25px;"/>  </form>login_sys.php<?phpinclude("config.php");@header("content-type:text/html; charset=UTF-8"); //$_SESSION[uid]; //$_SESSION[user_shell]; $arr=user_shell($_SESSION[uid],$_SESSION[user_shell],1);  //获取登陆用户信息--2是表示用户的权限设置的 //echo $arr[username]."<br>"; user_mktime($_SESSION[times]);   //使用user_mktime类方法 if($_GET[out]){  //注销当前用户 unset($_SESSION[uid]); unset($_SESSION[user_shell]); echo"<mce:script type="text/javascript"><!--location.href='login_sys.php'// --></mce:script>";//刷新当前页面 } echo "<a href="login_sys.php?out=out" mce_href="login_sys.php?out=out">退出</a>";?>

0 0
原创粉丝点击