2014-09-03 6 views
-1
if($_SESSION["adm"]==NULL) 
    header("location:signin.php"); 

С помощью этого кода я хочу проверить переменную сеанса, поскольку она пуста или нет. При первой загрузке главной страницы переменная сеанса будет обычно нулевой. Если переменная сеанса равна нулю, страница должна перенаправляться на страницу Login, иначе она останется на самой странице Home.php warning session variable, Notice: Неопределенный индекс:

Ошибка - >>> Примечание: Undefined индекс: ADM в ....

+2

Опишите свой код: – Jenz

+0

if ($ _ SESSION ["adm"] == NULL) header ("location: signin.php"); – Nisfan

+0

@ nisfan..Но можно выяснить проблему, если вы не опубликуете полный код. – Jenz

ответ

1

После присвоить любое значение, это предупреждение не показывает.

Только попробуйте использовать SESSION после того, как оно установлено, или сделайте что-нибудь подобное;

if(array_key_exists('adm', $_SESSION)) { 
    //It exists 
} else { 
    //It doesn't exist 
} 

Или используйте тернарный оператор и установите по умолчанию «хакерский» способ по умолчанию.

$_SESSION['adm'] = array_key_exists('adm', $_SESSION) ? $_SESSION['adm'] : ''; 
0

1) Убедитесь, что вы включили session_start() в начале страницы PHP.

2) Всегда пытайтесь получить доступ к переменной SESSION, только если она установлена ​​со значением.

if(isset($_SESSION['adm'])) 
{ 
    // perform the operations 
} 
+0

Мне нужно решение для второго варианта. Я использую сеанс в 'sign- на странице. И мне нравится проверять сеанс на других страницах, чтобы проверить, что он установлен или нет. Если я сразу перейду на другую страницу, кроме входа, появится предупреждение. – Nisfan

Смежные вопросы