我需要在PHP中使用不同变量的双if语句

时间:2015-07-06 09:05:14

标签: php if-statement pdo

到目前为止我已经尝试过了:

$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。到目前为止,这不起作用。如果我使用用户帐户登录,它仍会显示该页面。希望我足够具体。

2 个答案:

答案 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");