我有一个页面在我的控制面板用户,需要秘密代码访问。
我这样做的顺序是:
< code >H19匹配,清除会话并显示整个页面,如果不匹配,则重定向到初始页。H 210G 211
问题是:在第4步,页面有时会读取后期的会话更新。有时它没有显示值,但是很多时候它显示了正确的值,如果我刷新页面,会话仍然有正确的散列数据(在步骤5,如果匹配,我已经清除了会话变量),如何来?
我尝试用mysql用数据记录来更改会话变量,但结果是一样的。phpmyadmin显示已经设置的记录,但是页面没有显示数据集。否则,在删除记录后,该页仍将显示前一个记录值。
这是否意味着缓存有问题?我也没有缓存头,例如:
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');但我得到的结果还是一样。伙计们有什么建议吗?
更新:如果我继续刷新页面,在可能刷新3或5次之后,它将显示正确的值。如何使它实时化?那么,如果会话集,页面可以直接检查值集,如果会话被清除,那么页面将询问秘密代码。?
发布于 2012-01-05 08:28:09
将步骤4: print_r($_SESSION)中的会话转储出去,以查看是否设置了会话。如果没有,则需要在步骤2中设置它,然后再进行重定向。
另外,不要忘记对每个文件调用session_start()。
https://stackoverflow.com/questions/8739456
复制相似问题