到目前为止我已经尝试过了:
$query = "SELECT * FROM users WHERE id = :id";
$stmt = $connectionPDO->prepare($query);
$stmt->bindParam(':id', $id);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$type = $row['rights'];
if(check_login_status() == false)
{
header("Location:error.php");
exit;
}
如果特定用户的“权限”列中的条目是“用户”,并且如果没有人登录,那么它必须重定向到error.php。到目前为止,这不起作用。如果我使用用户帐户登录,它仍会显示该页面。希望我足够具体。
答案 0 :(得分:1)
您需要在header()
函数中添加额外的信息,并在exit;
之后添加header()
,否则执行将在此代码片段中继续执行。
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$type = $row['rights'];
if(check_login_status() == false && $type == "user")
{
header("Location: error.php");
exit;
}
当然if
语句的正确执行取决于您未指定的内容,例如check_login_status()
实际返回false
并且您已检查$type
实际上是{ {1}}。
试试这个作为测试:
"user"
答案 1 :(得分:0)
语法错误:
header("Location:error.php");