isset()和$ _SESSION变量的问题

时间:2012-02-29 13:35:34

标签: php session-variables

我目前正在开发一个需要会话变量来存储搜索信息的项目,这是很常见的地方。通常,我使用isset()来检查会话变量是否存在。然而,似乎有一个令人困惑的问题......不确定发生了什么。任何帮助表示赞赏。代码......

<?php
# Check to make sure the session is started 
if (session_id() != '') echo 'Session has started<br/>';
# Check every possible way I know to make sure variable is set
if (array_key_exists('adminsearchrange', $_SESSION) && isset($_SESSION['adminsearchrange']) 
    && !empty($_SESSION['adminsearchrange']) && $_SESSION['adminsearchrange'] != NULL) {
    echo 'Search range is set and is not empty<br/>';
    echo $_SESSION['adminsearchrange'];
}
?>

输出......

Session has started
Search range is set and is not empty
Notice: Undefined index: adminsearchrange in /Users/.../events_items.php on line 1182

根据评论,我采用了最简单的方法...创建了一个新文件,其全部内容如下所示。仍然得到相同的错误(上面),奇怪的是,它仍然引用了确切的行和文件(即使该文件没有以任何方式包含)...而且,没有,没有任何{{1}任何形式的重写。代码(全部在一个文件中)......

.htaccess

1 个答案:

答案 0 :(得分:1)

看来会话被冲洗了(不知何故)。一个简单的session_destroy()解决了这个问题。