Хорошо, я только учу php, как мы говорим. У меня есть зона персонала и административная зона. Мне нужно разрешить админ в личный кабинет через сеансы.
Мои сеансы, ограничивающие доступ только для user_level из 1 (персонал)
session_start();
if (!isset($_SESSION['user_level']) OR ($_SESSION['user_level'] != 1){
header("Location: login.php");
exit();
}
Я пытаюсь разрешить администратору доступ к этим страницам и персоналу.
session_start ();
if (!isset($_SESSION['user_level']) OR ($_SESSION['user_level'] != 1) OR ($_SESSION['user_level'] != 2))
{
header("Location: login.php");
exit();
}
Это не позволяет моим администраторам получать доступ к страницам персонала. Как я могу разрешить user_level 1 и user_level 2 доступ к одним и тем же страницам?
У меня они оба отсортированы на странице входа. Когда я захожу как администратор, я захожу в админку, когда захожу как персонал, захожу в зону персонала. Но когда я вхожу в систему как администратор и пытаюсь в меню попасть на страницы сотрудников, я не могу получить доступ.
Если ваши пользовательские уровни и разрешения следуют в порядке возрастания, вы можете просто использовать значение больше, чем.
session_start();
if(!isset($_SESSION['user_level']) || ($_SESSION['user_level'] > 2)){
header("Location: login.php");
exit();
}
Я бы также использовал || вместо ИЛИ, но это просто личное предпочтение!
Если это все еще не работает, я бы поставил точку останова или удалил заголовок и
echo($_SESSION['user_level'])
чтобы увидеть, что это такое.
Других решений пока нет …