php警告会话变量,注意:未定义的索引:

时间:2014-09-03 10:41:55

标签: php session

if($_SESSION["adm"]==NULL)
   header("location:signin.php");

通过这段代码,我想检查会话变量是否为空。在第一次加载主页时,会话变量通常为空。如果会话变量为null,则页面应重定向到Login页面,否则它将保留在Home页面本身。

错误 - >>> 注意:未定义索引:adm in ....

2 个答案:

答案 0 :(得分:1)

  

分配任何值后,此警告永远不会显示。

只有设置后才尝试使用SESSION,或者执行类似的操作;

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

或者使用三元运算符并设置默认值 - 一种“hacky”方式。

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

答案 1 :(得分:0)

1)确保在PHP页面的开头包含session_start()

2)只有在设置了值时才会尝试访问SESSION变量。

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