print_r($_SESSION);
给了我这个:
[post] => [verify] => 3bae5359ea60d7f00d553ae5d091ae4b [token] =>
标记已设置,但为空,对吧?当我实现这个:
if (!isset($_SESSION['token'])) {
die("Token not set");
}
脚本死了。为什么会这样?
答案 0 :(得分:3)
来自documentation -
bool isset(混合$ var [,混合$ ...])
isset确定变量是否已设置且不是NULL
另外 -
返回值:如果var存在且值不是,则返回TRUE NULL,否则为FALSE。
因此,如果提供的参数包含NULL或者它根本不存在,那么isset
将返回FALSE
。这正是您的脚本正在发生的事情,因此它会死掉。
答案 1 :(得分:1)
$ _SESSION ['token']中没有任何值,这就是为什么它会在条件和死亡时陷入其中。