2015-01-31 10 views
0

Хорошо, я только изучаю php, когда мы говорим. У меня есть область персонала и администрация. Мне нужно разрешить админу в штат с помощью сеансов.Разрешение доступа для нескольких пользователей на одной странице

Мои сеансы, ограничивающие доступ только для user_level 1 (персонала)

session_start(); 

    if (!isset($_SESSION['user_level']) OR ($_SESSION['user_level'] != 1){ 
     header("Location: login.php"); 
     exit(); 
     } 

I.m пытается разрешить администратору получить доступ к этим страницам, а также сотрудников.

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 получать доступ к тем же страницам? У меня есть они оба отсортированы на странице входа. Когда я вхожу в систему как администратор, я перехожу в область администрирования, когда я вхожу в систему в качестве персонала, которого я посещаю. Но когда я вхожу в систему как администратор, и попробуйте в меню, чтобы попасть на страницы сотрудников, я не могу получить доступ.

+0

вы могли бы сделать некоторые простые операции ... if ($ _SESSION ['user_level'] == 1 || $ _SESSION ['user_level'] == 2) {echo 'user page'; } – lje

+0

как мне показать вам ответ на мой вопрос? Ваш ответ сработал, поэтому спасибо –

+0

его хорошо. рад, что сработал. – lje

ответ

0

Если ваши уровни пользователей и разрешения следуют инкрементному порядку, вы можете просто использовать больше.

session_start(); 
if(!isset($_SESSION['user_level']) || ($_SESSION['user_level'] > 2)){ 
    header("Location: login.php"); 
    exit(); 
} 

Я бы также использовал || вместо OR, но это только личное предпочтение!

Если это все еще не работает, чем я бы поставил точку останова или удалить заголовок и

echo($_SESSION['user_level']) 

, чтобы увидеть, что это такое.