2014-02-21 1 views
0

Я ограничиваю доступ к страницам со следующим кодом, который отлично работает, но когда я загружаю его на удаленный сервер. Доступ к ограничениям возможен, даже если пользователь не вошел в систему. Пожалуйста, помогите мне.Данные сеанса, работающие локально, но не на удаленном

<?php 
session_start(); 
error_reporting(E_ALL^E_NOTICE); 

    if($_SESSION['uid']==true){ 
     if($_SESSION['roles']==3 or $_SESSION['roles']==1){ 
     }elseif($_SESSION['roles']==3){ 
     header('Location:../a/index.php?action=NOT Allowed'); 
     }elseif($_SESSION['roles']==4){ 
     header('Location:../b/index.php?action=NOT Allowed'); 
     }elseif($_SESSION['roles']==5){ 
     header('Location:../c/index.php?action=NOT Allowed'); 
     } 
     }else{ 
     header('Location:../index.php'); 
    } 
?> 
+0

Проверить, если 'sessions' установлены .. Попробуйте' var_dump ($ _ SESSION); ' –

+0

RFC 2616 мандатов А.Н. абсолютный URI как значение поля заголовка * Location *, то есть он должен включать схему и имя хоста. – Oswald

+0

Филиал, в котором вы перенаправляете '../a/index.php?action=NOT Allowed', никогда не будет выполнен, потому что если' $ _SESSION ['role'] == 3', то первая ветка (где вы протестировали ' Вместо этого будет выполняться $ _SESSION ['role'] == 3 или $ _SESSION ['role'] == 1'). – Oswald

ответ

0

Добавьте это в ваш код для сброса значения переменной сеанса

var_dump($_SESSION); 
Смежные вопросы