0
我不知道這是否是重複的,但我找不到任何關於此。 我有一個簡單的查詢用於登錄,當用戶名和密碼都正確時,它將運行IF發現的課程1行。但是,當我的密碼或用戶名錯誤時,應該運行ELSE。可悲的是,情況並非如此,我得到了一個沒有任何錯誤的白色屏幕。使用如果num_rows,但不會運行
代碼:
$result = $dbcon->query("SELECT * FROM PT_USERS WHERE Username = '$gebruiker' AND Password = '$wachtwoord'");
while($row = $result->fetch_assoc()) {
if($result->num_rows == 1) {
$_SESSION['PT_USERS'] = $row["Username"];
$_SESSION['PT_CONFIRM'] = $row["Confirmed"];
header("Location: ../");
}
else {
$result = $dbcon->query("SELECT * FROM PT_USERS WHERE Username = '$gebruiker'");
if($result->num_rows == 1) {
echo '<script>alert("Het wachtwoord klopt niet met dit gebruikersnaam!");</script>';
header("Location: ../");
}
else {
echo '<script>alert("Geen account gevonden!");</script>';
header("Location: ../");
}
}
}
我一直在尋找如何解決這個問題,但我似乎無法找到任何東西。你們有什麼好運可以幫忙?
謝謝!
您的用戶名字段應該是唯一的,所以這個查詢應該_at most_返回一行。那麼在這裏使用while循環是什麼......? – CBroe
嘗試使用'var_dump($ result)'在while循環並獲得結果的想法之前打印結果集。 –
啓用正確的PHP錯誤報告,然後它會告訴你你做錯了什麼。很有可能你會得到已經發送__的頭文件,因爲你之前已經產生了輸出。 – CBroe