PHP和会话的奇怪问题

时间:2010-04-27 04:42:34

标签: php zend-framework session

因此,此页面的基础是我在页面加载时设置会话值,并在他们访问的任何其他页面上清除它。然后页面可以进行ajax调用以下载文件。如果会话值与我通过URL的值匹配,则允许他们下载文件。如果不是,我返回404错误。我有一些奇怪的问题,所以我删除了404并将其设置为回显值而不是看我得到了什么。这是页面上代码的顶部:

$code = $this->_request->getParam('code');
    $confirm = $_SESSION['mp3_code'];
    echo $code."-1-".$confirm;
    if($code != $confirm)
        echo $code."-2-".$confirm;//header("HTTP/1.1 404 Not Found");
    else
    {

以下是ajax调用页面上显示的内容 12723430-1-12723430-2 -

正如你所看到的那样,当它第一次存在时它会回响,然后我以某种方式比较它们并且它失败了你会看到它回声出空白值,就像它们突然不复存在一样。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

务必确保使用会话在任何脚本的顶部调用session_start。我想这可能就是这种情况。

在您的代码中,它回显$code$confirm。但是$confirm是一个空字符串,因为您实际上并没有检索会话数据(为什么还没有确定),大多数情况下该条件将评估为TRUE。