PHP和会话的奇怪问题
所以这个页面的基础是我在页面加载时设置一个会话值,并在他们访问的任何其他页面上清除它。然后页面可以进行ajax调用以下载文件。如果会话值与我通过URL传递的值匹配,我允许他们下载文件。如果不是,我返回404错误。我遇到了一些奇怪的问题,所以我删除了404,并将其设置为回显值,以查看我得到了什么。以下是页面上代码的顶部:PHP和会话的奇怪问题,php,zend-framework,session,Php,Zend Framework,Session,所以这个页面的基础是我在页面加载时设置一个会话值,并在他们访问的任何其他页面上清除它。然后页面可以进行ajax调用以下载文件。如果会话值与我通过URL传递的值匹配,我允许他们下载文件。如果不是,我返回404错误。我遇到了一些奇怪的问题,所以我删除了404,并将其设置为回显值,以查看我得到了什么。以下是页面上代码的顶部: $code = $this->_request->getParam('code'); $confirm = $_SESSION['mp3_code'];
$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-
正如你所看到的,当它们第一次存在时,它会发出回声,然后在我比较它们之后,它失败了,你会看到它会发出空白值的回声,就像它们突然不存在一样。有什么想法吗?务必确保在任何使用会话的脚本顶部调用
会话\u start
。我想这里可能就是这样
在您的代码中,它正在回显$code
和$confirm
。但是,$confirm
是一个空字符串,因为您没有实际检索会话数据(为什么还没有确定),所以该条件在大多数情况下都会计算为TRUE