因此,此页面的基础是我在页面加载时设置会话值,并在他们访问的任何其他页面上清除它。然后页面可以进行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 -
正如你所看到的那样,当它第一次存在时它会回响,然后我以某种方式比较它们并且它失败了你会看到它回声出空白值,就像它们突然不复存在一样。有什么想法吗?
答案 0 :(得分:2)
务必确保使用会话在任何脚本的顶部调用session_start
。我想这可能就是这种情况。
在您的代码中,它回显$code
和$confirm
。但是$confirm
是一个空字符串,因为您实际上并没有检索会话数据(为什么还没有确定),大多数情况下该条件将评估为TRUE。