php警告会话变量,注意:未定义索引:
问题描述:
if($_SESSION["adm"]==NULL)
header("location:signin.php");
通过此代码,我想检查会话变量是否为空。首次加载主页时,会话变量通常为空。如果会话变量为空,则页面应该重定向到Login
页面,否则它将保留在Home
页面本身中。php警告会话变量,注意:未定义索引:
错误 - >>> 注意:未定义指数:ADM在....
答
分配任何值后,这个警告从来没有显示。
只有尝试使用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
请给出您的代码? – Jenz 2014-09-03 10:42:34
if($ _ SESSION [“adm”] == NULL)header(“location:signin.php”); – Nisfan 2014-09-03 11:11:34
@ nisfan ..没有人可以找出问题,如果你不会发布完整的代码。 – Jenz 2014-09-03 11:13:42