PHP会话变量不会取消设置

时间:2013-02-20 11:43:10

标签: php drupal module session-variables

我在Drupal模块中有几行代码如下:

if ($arg == 'true' && isset($_SESSION['xyz']['noredirect'])) {
    unset($_SESSION['xyz']['noredirect']);
}

执行第二行时,我收到错误:

Error messageNotice: Undefined variable: _SESSION in blah() (line 122 of /home/xxxxxxx/public_html/sites/all/modules/blah/blah.module).

我简直无法理解为什么如果设置了会话,我就不能解开它。

有什么想法吗?

由于

2 个答案:

答案 0 :(得分:5)

您似乎尚未运行session_start()。这将创建$_SESSION超全局。

答案 1 :(得分:0)

该模块现在可以按照我的要求运行。我通过使用session_destroy()解决了它;而不是未设置。它可能不是最优雅的修复方法,但它有效,我找不到任何其他方法。

if ($arg == 'true' && isset($_SESSION['xyz']['noredirect'])) {
session_destroy(); 

}