小弟在自學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登入成功框,然後又回到登入的介面。