Hello Stackoverflow社区,
我正在尝试在php中编写登录系统。到目前为止一切正常,但现在我想整合一个允许帐户被禁止的功能。但问题是,这不是很好。
所以我有我的MySQL表,如下所示:
然后我的login.inc.php看起来像这样:
<?php
include 'essentials.inc.php';
$username = $_POST["username"];
$password = $_POST["password"];
$sql = "SELECT * FROM accounts WHERE username='$username' AND password='$password'";
$result = $conn->query($sql);
if ($result->num_rows == 1) {
$row = $result->fetch_assoc();
if ($row['status'] == "Banned") {
header("Location: ../login.php?error=2");
}
$id2 = $row['id2'];
$_SESSION['id2'] = $id2;
header("Location: ../index.php");
} else {
header("Location: ../login.php?error=1"); // wrong un or pw
}
?>
现在它应该重定向到login.php?error = 2,如果状态等于0.问题是,它只是忽略了这种情况。如果状态等于0,则只记录帐户,因为它不在那里。
感谢您的帮助!
答案 0 :(得分:2)
不应该状态= 0而不是'禁止'或我遗漏了某些东西
if ($row['status'] == 0) {
header("Location: ../login.php?error=2");
}
答案 1 :(得分:1)
确保您正在检查@bri建议的正确值。您的条件必须与您的数据库选项状态相匹配。另外,试着退出;或退出();在您的位置标题后。有时脚本会在页面重定向之前继续运行。