-2
我在PHP中使用mysqli並試圖從數據庫獲取數據以登錄到系統中。當我使用phpmyadmin來執行我的查詢時,我會得到完美的結果。但是當我試圖從php腳本中獲得它時,我得到了一個概率。我的PHP腳本低於需要糾正我的mysqli查詢
if(isset($login)){
$email = @$db->real_escape_string(htmlentities($_POST['loginid']));
$username = @$db->real_escape_string(htmlentities($_POST['loginid']));
$pass1 = @$db->real_escape_string(htmlentities($_POST['loginpass']));
$blah = new Encryption();
$pass = $blah->encode($pass1);
if($db->query("SELECT `uid` FROM `users` WHERE BINARY `uname` = '$username' AND `pass` = '$pass'")){
$errors[] = 'Logged in by username';
}
else if($db->query("SELECT `uid` FROM `users` WHERE `email` = '$username' AND `pass` = '$pass'")){
$errors[] = 'Logged in by email';
}
}
現在的事情是,我的用戶名是「ABC」,郵件是「[email protected]」和密碼「qazwsx」加密。第二個用戶名是'xyz',電子郵件是'[email protected]',密碼是'abcdef',但它不檢查uname並一次通過或一次通過並同時通過。如果我輸入「1」或任何帶有「qazwsx」密碼的密碼,則表明您已通過用戶名登錄,這意味着它僅檢查密碼。
而且看到結果,我用這些代碼,
if($errors){
echo '<ul>';
foreach ($errors as $error){
echo '<li>'.$error.'</li>';
}
echo '</ul>';
}
else if ($loginform){
echo $loginform;
}
我不知道該怎麼辦。請幫我guyz。
你能告訴我應該使用什麼樣的代碼嗎?你可以編輯我的代碼嗎? – user2947999
Thanx,它爲用戶名工作,但我仍然無法用電子郵件ID登錄。 :'( – user2947999
)如果你對兩者都做了同樣的事情,那麼你就面臨着一個完全不同的問題。數據庫中的值是什麼樣的,你在查詢中使用的值是什麼樣的 – cHao