我需要检查这个$_SESSION['1'] || $_SESSION['2']
是否设置好
我试过这个
ob_start();
session_start();
if (!isset($_SESSION['log']) && $_SESSION['log'] !== 1) {
if (!isset($_SESSION['insAdmin']) && $_SESSION['insAdmin'] !== 1) {
header("Location:sessionManager/login.php");
}
}
但如果$_SESSION['insAdmin']
塞特
我收到笔记
( !注意:未定义索引:登录 C:''wamp''www''mysite''en''admin''headers.php 在第 13 行
你在自相矛盾:
!isset($_SESSION['log']) & $_SESSION['log'] !== 1
你基本上是在说if $_SESSION['log'] is not set and $_SESSION['log'] is not 1
这没有意义。
如果未设置$_SESSION['log']
,则尝试通过$_SESSION['log']
访问其值(&&
后面的第二个表达式(当然会导致未定义的索引。
您应该删除!
:
if (isset($_SESSION['log']) && $_SESSION['log'] !== 1) {
if (isset($_SESSION['insAdmin']) && $_SESSION['insAdmin'] !== 1) {
header("Location:sessionManager/login.php");
}
}
通常使用 isset 来测试变量是否包含值,然后再检查它的实际值。
但是您检查变量是否未设置!isset($_SESSION['log']
然后检查其值,如果未设置log
,这当然总是会导致通知。
您正在检查它是否未设置,请检查它是否已设置。
if (isset($_SESSION['insAdmin']) && $_SESSION['insAdmin'] !== 1) {
header("Location:sessionManager/login.php");
}