如何检查用户是否禁止使用PHP函数

时间:2018-11-17 16:54:45

标签: php

我正在尝试创建一个可以在每个页面上调用的函数,以便它检查用户是否已被禁止。

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时,它仍然会破坏会话。

2 个答案:

答案 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;
        }
    }