我正在尝试创建一个可以在每个页面上调用的函数,以便它检查用户是否已被禁止。
1 = banned
0 = not banned
我的功能:
public function not_banned()
{
$stmt = $this->conn->prepare("SELECT `status` FROM `users` WHERE `user_id` = :user_id");
$stmt->execute(array(':user_id'=>$_SESSION['user_session']));
$status = $stmt -> fetch();
if ($status == "0"){
return true;
} else {
session_destroy();
unset($_SESSION['user_session']);
unset($_SESSION['token']);
return true;
}
}
当我调用该函数并且状态为0时,它仍然会破坏会话。
答案 0 :(得分:2)
致电时
$status = $stmt -> fetch();
fetch()
返回一个数组,其中包含结果集的单行的所有字段。然后,您可以按名称访问每个字段(在这种情况下)...
if ($status['status'] == "0"){
答案 1 :(得分:0)
如果用户被禁止,则返回true,否则返回false
public function is_banned()
{
$stmt = $this->conn->prepare("SELECT `status` FROM `users` WHERE `user_id` = :user_id");
$stmt->execute(array(':user_id'=>$_SESSION['user_session']));
$status = $stmt -> fetch();
if ($status['status'] == "0"){
return false;
} else {
unset($_SESSION['user_session']);
unset($_SESSION['token']);
session_destroy();
return true;
}
}