2016-09-25 5 views
-1

Я пытаюсь создать панель администратора для своего сайта. Я хочу проверить разрешение от текущего зарегистрированного пользователя, если недостаточно перенаправления полномочий.Php - Session Variables

Я пробовал выделить все, но я не могу заставить его работать! Это показывает, когда я повторить все переменные сессии с этим кодом:

echo '<pre>'; 
var_dump($_SESSION); 
echo '</pre>'; 

Это проявляется:

array(2) { 
    ["usr_id"]=> 
    string(1) "1" 
    ["usr_name"]=> 
    string(13) "rombie18" 
} 

Теперь я хочу, чтобы получить разрешение от переменного сеанса и проверить, если разрешение высоко достаточно.

Я хочу, чтобы получить это:

array(2) { 
    ["usr_id"]=> 
    string(1) "1" 
    ["usr_name"]=> 
    string(13) "rombie18" 
    ["usr_permission"]=> 
    string(13) "admin" 
} 

И проверить разрешение:

if(!$_SESSION['permission'] == 'admin') { 
    //redirect 
    exit(); 
}else{ 
    //do something here. 
} 
+2

А в чем проблема? –

+3

Я думаю, что это должно быть '$ _SESSION ['usr_permission']' вместо '$ _SESSION ['permission']' –

ответ

0

В первом у вас есть для назначения вашей требуемой информации в $_SESSION переменная, в то время как журнал в процессе выполнения.

Пример: Логин процесс (определить usr_permission)

$result = mysqli_query(..........); //Your user chhecking query 
//check if found in data_base by userId and Pass. 
$_SESSION["usr_id"]  = $result[0]['usr_id']; //assign usr_id 
$_SESSION["usr_name"]  = $result[0]['usr_name']; //assign usr_name 
$_SESSION["usr_permission"]= $result[0]['usr_permission']; //assign usr_permission 

Пример: Проверить разрешение на $_SESSION['usr_permission']

if(!$_SESSION['usr_permission'] == 'admin') { //here user same variable name 
    //redirect 
    exit(); 
}else{ 
    //do something here. 
} 

You сделали 2 ошибки: вы не назначите $_SESSION["usr_permission"] и проверки по неопределенной переменной $_SESSION['permission']

0

В соответствии с вашим кодом, вы должны использовать $_SESSION['usr_permission'] вместо $_SESSION['permission']