оператор if — PHP Elseif всегда возвращает false, несколько условий

Я пытаюсь сделать вспомогательную php-функцию, которая будет возвращать true / false, если пользователь получил правильный уровень доступа. Уровень доступа устанавливается, когда пользователь входит в систему. Проблема в том, что функция всегда возвращает false. Функция находится в php-файле «class», который включен (с include_once) на страницу, которую я хочу использовать.

Я немного новичок в php, но если условия кажутся правильными.

Я проверил, чтобы войти в систему как администратор и «экономика», но это не возвращает истину.
Я также попытался повторить значение, которое отправляется в качестве параметра, и даже проверить, что уровень доступа правильный (выводя значение) перед оператором elseif.

    const AccessLevelUser = 0;
const AccessLevelAdmin = 1;
const AccessLevelManager = 2;
const AccessLevelEconomy = 3;

public static function hasAccessLevel($requiredAccess) {
//file_put_contents('logg.txt', $logg);

if( !isset($_SESSION['accesslevel']) ) {
header("location:index.php?location=login");
exit;
}elseif ( $requiredAccess == AccessLevelAdmin && $_SESSION['accesslevel'] == AccessLevelAdmin ) {
echo "Admin True";
return true;

}elseif( $requiredAccess == AccessLevelEconomy && ($_SESSION['accesslevel'] == 3 || $_SESSION['accesslevel'] == 1) ) {
echo "Economy True";
return true;

}elseif( $requiredAccess == AccessLevelManager && ($_SESSION['accesslevel'] == 2 || $_SESSION['accesslevel'] == 1) ) {
echo "Manager True";
return true;

}elseif( $requiredAccess == AccessLevelUser && ($_SESSION['accesslevel'] == 0 || $_SESSION['accesslevel'] == 1) ) {
echo "User True";
return true;
}else{
echo "FALSE!";
return false;
}
}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]