php100视频里的一个会员登录系统实例,虽然很小,但里面的一些基本功能实现还是不错的, 分为三个文件,如下: config.php <?php session_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 <?php include("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>"; ?>