如果是isset,请检查是否大于或等于


if isset check for greater then or eqaul

嗨,我有一个成功的登录和注销系统,当用户登录时,它设置了以下多项:

$_SESSION['logged_in'] = 1;
$_SESSION['USERNAME'] = $USERNAME;
$_SESSION['PASSWORD'] = $PASSWORD;
$_SESSION['AccessLevel'] = $AccessLevel;

所以我想做的是,当我让它检查用户是否登录时,它还会检查用户是否为AccessLevel 600或更高级别,并将其转发到新页面。

这就是我目前所拥有的,任何关于如何改变它的建议都将是非常棒的。我正在考虑els if,但什么都做不了。

<?php
    session_start();
    if(!(isset($_SESSION['USERNAME']))){
        header("location:../index.html");
    }
?>
<?php
    session_start();
    if(!(isset($_SESSION['USERNAME']))){
        echo 'Please Login';
        exit;
    }
    else {
        if ($_SESSION['AccessLevel'] >= 600) {
            echo 'Good User';
            exit;
        }
        else {
            echo 'Access Level is too low';
            exit;
        }
    }
?>

答案很简单,希望这就是您想要的。既然它是会话对象的一部分,为什么不简单地检查访问级别呢。

<?php
session_start();
// Check for access level being set in the session object as well as privilege level
if (isset($_SESSION['AccessLevel']) && $_SESSION['AccessLevel'] > 600) {
    header('location: accessible_page.html');
} else {
    header('location: not_logged_in_page.html');
}
?>