我不确定这是否重复,但我找不到任何相关内容。 我有一个简单的查询输入登录,当用户名和密码都正确时,它将运行IF发现的第1行。然而,当我得到密码或用户名错误时,它应该运行ELSE。可悲的是,情况并非如此,我得到了一个没有任何错误的白屏。
代码:
$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: ../");
}
}
}
我一直在寻找如何解决这个问题,但我似乎找不到任何东西。你们有什么运气可以帮忙吗?
谢谢!
答案 0 :(得分:0)
这里不需要while
循环。
试试这个 -
$result = $dbcon->query("SELECT * FROM PT_USERS WHERE Username = '$gebruiker' AND Password = '$wachtwoord'");
if($result->num_rows == 1) {
$row = $result->fetch_row();
$_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: ../");
}
}