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

问题描述:

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

通过此代码,我想检查会话变量是否为空。首次加载主页时,会话变量通常为空。如果会话变量为空,则页面应该重定向到Login页面,否则它将保留在Home页面本身中。php警告会话变量,注意:未定义索引:

错误 - >>> 注意:未定义指数:ADM在....

+2

请给出您的代码? – Jenz 2014-09-03 10:42:34

+0

if($ _ SESSION [“adm”] == NULL)header(“location:signin.php”); – Nisfan 2014-09-03 11:11:34

+0

@ nisfan ..没有人可以找出问题,如果你不会发布完整的代码。 – Jenz 2014-09-03 11:13:42

分配任何值后,这个警告从来没有显示。

只有尝试使用SESSION或者做了类似的操作;

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

或者使用三元运算符并设置一种默认的“哈克”方式。

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

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

2)总是试图访问SESSION变量,只有当它设置了一个值。

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

我需要一个解决方案的第二个选项。我使用会议在'sign-我想在其他页面上检查会话,检查是否已设置,如果我直接转到除登录以外的任何其他页面,则会显示警告。 – Nisfan 2014-09-03 13:48:30