PHP会员登录学习

作者在 2011-11-09 20:11:06 发布以下内容

这个是PHP会员登录,这个源码我是看PHP100视频教程学的,我分享给大家看看,其实呢?PHP登录可以有许多写法,但是这种写法是很安全,包括了权限及登录超时。

以下是源码;

登录源码:

<?php
/*
Admin登陆
*/
include("conn.php");
md5("admin".ALL_PS);
if($_POST[submit]){
$username=$_POST['username'];
$sql="select * from user_list where username='$username'";
$query=mysql_query($sql);
$us=is_array($row=mysql_fetch_array($query));
$ps=$us ? md5($_POST[password].ALL_PS)==$row[password] : FALSE;
if($ps){
    $_SESSION[uid]=$row[uid];
    $_SESSION[user_shell]=md5($row[username].$row[password].ALL_PS);
    $_SESSION[times]=mktime();//登陆的时间
    echo "<center><font color=red>登陆成功";
}//做个验证码判断
}else{
    echo "<center><font color=red>用户名和密码错误";
    session_destroy();
}
if($_POST[cehck]){
if($_POST[cehck]==$_SESSION[check_pc]){
    echo "验证码正确";
}else{
    echo "验证码错误";
}
}
?>

<h1></h1>
<h2 align="center">管理员登陆</h2>
<center><form action="" method="post" name="myformn" onsubmit="return chekpost()">
管理员:<input type="text" name="username"/><br/>
密&nbsp;&nbsp;码:<input type="password"size="21" name="password"/>

验证码: <input type="text" size="10" name="cehck"/><img src="che.php">

<input type="submit" name="submit" value="提交"/>
<input type="reset" name="rest" value="重置"/
  </form>
 权限判断(这个采用的是方法)
function user_shell($uid,$shell,$m_id){
    $sql="select * from user_list where `uid` = '$uid'";
    $query=mysql_query($sql);
    $us=is_array($row=mysql_fetch_array($query));
    $shell=$us ? $shell==md5($row[username].$row[password].ALL_PS):FALSE;
    $row[username]."
";
     $row[m_id];
    if($shell){
    if($row[m_id]<=$m_id){
     return $row;

    }else{
        echo "你的权限不足";
        exit();
    }
    }else{
     echo "你无权限访问该页";
     exit();
    }
  }
user_shell($_SESSION[uid], $_SESSION[user_shell],1);
 登录超时(这个采用的是方法)
function user_mktime($onlinetime){
$new_time=mktime();
$new_time-$onlinetime;
echo $new_time-$onlinetime;
if($new_time-$onlinetime>'20'){
     echo "登陆超时";
     exit();
     session_destroy();//注销session
}else{
     $_SESSION[time]=mktime();
}

}
user_mktime($_SESSION[times]);
 总结
其实大家学习别人代码在于创新和使用,不要完全模仿别人代码使用,这是学习的一种方法,同时也要学会看别人的代码。我们可以用以上代码在加上smart框架做个完整的后台,哎!我现在没有验证码,因为我还不会将验证码程序加载到表单做登录的验证程序!忘大家多多指导!

php | 阅读 1041 次
文章评论,共0条
游客请输入验证码