PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

管理员登录界面普通用户也可登录进入

原创
2016-06-13 12:06:29 855浏览

管理员登录界面普通用户也可登录进去

本帖最后由 yoshikis 于 2014-09-18 11:55:57 编辑 小弟在自学PHP,目前在写一个留言板,写admin.php这部分代码时,登录用普通user的账户也可登录,不知道哪里出错了。我SQL语句选的是admin表的啊,为什么连user表中的用户也能选到?不懂,求大神解答。

admin.php代码
    error_reporting(0);
@session_start();
require_once 'conn/conn.php';
$user_name=$_POST['name'];
$password=md5($_POST['password']);
$_SESSION['user_name']=$user_name;
if(strlen($user_name)?>


管理员登陆





















用户登陆
Username:
Password:


注册新用户





}
else if(strlen($user_name)>1){
$query="select * from admin where user_name=? and password=?";
// echo $query;
// exit;
$st=$db->prepare($query);
$rs = $st->execute(array($user_name,$password));
if($rs == false)
{

echo "
";
}
else
{
// echo "登陆成功!";
echo "
";
}
}

?>



表结构

admin表


user表





------解决思路----------------------
兩個問題
1. $_SESSION['user_name']=$user_name; 這句應該登入成功後再調用
2. 普通用戶與管理員都用$_SESSION['user_name'] 判斷是否登入,這樣普通用戶登入後,判斷管理員登入都會是登入狀態了。
應該把管理員的登入保存寫成$_SESSION['admin_user_name'] 在管理員才可以進入的頁面,判斷$_SESSION['admin_user_name'] 而不是$_SESSION['user_name']
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。