当前位置:Gxlcms > PHP教程 > 管理员登录界面普通用户也可登录进去

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

时间:2021-07-01 10:21:17 帮助过:24人阅读

小弟在自学PHP,目前在写一个留言板,写admin.php这部分代码时,登录用普通user的账户也可登录,不知道哪里出错了。我SQL语句选的是admin表的啊,为什么连user表中的用户也能选到?不懂,求大神解答。

admin.php代码
	管理员登陆	
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表





回复讨论(解决方案)

加个字段 admin特殊标识一下就可以 欢迎访问个人php学习网站 http://www.phpthinking.com

把admin用单引号括起来吗?还是.....

你得登录成功了,再保存到session啊

????
1. $_SESSION['user_name']=$user_name; ?句??登入成功後再?用
2. 普通用??管理?都用$_SESSION['user_name'] 判?是否登入,??普通用?登入後,判?管理?登入都?是登入??了。
??把管理?的登入保存?成$_SESSION['admin_user_name'] 在管理?才可以?入的?面,判?$_SESSION['admin_user_name'] 而不是$_SESSION['user_name']

楼上正解!登陆成功才保存到会话里,不然在判断会话中的变量时不是登录与否都存在,那还登陆做什么。

????
1. $_SESSION['user_name']=$user_name; ?句??登入成功後再?用
2. 普通用??管理?都用$_SESSION['user_name'] 判?是否登入,??普通用?登入後,判?管理?登入都?是登入??了。
??把管理?的登入保存?成$_SESSION['admin_user_name'] 在管理?才可以?入的?面,判?$_SESSION['admin_user_name'] 而不是$_SESSION['user_name']

大神我在登录成功后加入$_SESSION['admin_user_name']=$user_name;跳转不到管理界面啊。。前面的session start去掉了


????
1. $_SESSION['user_name']=$user_name; ?句??登入成功後再?用
2. 普通用??管理?都用$_SESSION['user_name'] 判?是否登入,??普通用?登入後,判?管理?登入都?是登入??了。
??把管理?的登入保存?成$_SESSION['admin_user_name'] 在管理?才可以?入的?面,判?$_SESSION['admin_user_name'] 而不是$_SESSION['user_name']

大神我在登录成功后加入$_SESSION['admin_user_name']=$user_name;跳转不到管理界面啊。。前面的session start去掉了




????
1. $_SESSION['user_name']=$user_name; ?句??登入成功後再?用
2. 普通用??管理?都用$_SESSION['user_name'] 判?是否登入,??普通用?登入後,判?管理?登入都?是登入??了。
??把管理?的登入保存?成$_SESSION['admin_user_name'] 在管理?才可以?入的?面,判?$_SESSION['admin_user_name'] 而不是$_SESSION['user_name']

大神我在登录成功后加入$_SESSION['admin_user_name']=$user_name;跳转不到管理界面啊。。前面的session start去掉了

现在我不管输入什么用户名和密码都能登录?哪错啦??



????
1. $_SESSION['user_name']=$user_name; ?句??登入成功後再?用
2. 普通用??管理?都用$_SESSION['user_name'] 判?是否登入,??普通用?登入後,判?管理?登入都?是登入??了。
??把管理?的登入保存?成$_SESSION['admin_user_name'] 在管理?才可以?入的?面,判?$_SESSION['admin_user_name'] 而不是$_SESSION['user_name']

大神我在登录成功后加入$_SESSION['admin_user_name']=$user_name;跳转不到管理界面啊。。前面的session start去掉了




????
1. $_SESSION['user_name']=$user_name; ?句??登入成功後再?用
2. 普通用??管理?都用$_SESSION['user_name'] 判?是否登入,??普通用?登入後,判?管理?登入都?是登入??了。
??把管理?的登入保存?成$_SESSION['admin_user_name'] 在管理?才可以?入的?面,判?$_SESSION['admin_user_name'] 而不是$_SESSION['user_name']

大神我在登录成功后加入$_SESSION['admin_user_name']=$user_name;跳转不到管理界面啊。。前面的session start去掉了

现在我不管输入什么用户名和密码都能登录?哪错啦??

说错了,现在是无论输入什么,都能弹出js登录成功框,然后又回到登录的界面。

人气教程排行