php缓存错误
我的控制面板中只有一页用户需要密码 进入 我这样做的顺序是:php缓存错误,php,caching,http-caching,Php,Caching,Http Caching,我的控制面板中只有一页用户需要密码 进入 我这样做的顺序是: 转到带有参数的“密码请求页”我要访问的页 检查密码,如果正确,则用“哈希页面名称”填充会话变量 重定向到我要访问的页面 此页面检查“哈希会话”是否与此“页面名称”匹配 如果匹配,则清除会话并显示整个页面,如果不匹配,则重定向到初始页面 问题是:在第4步,页面有时会读取后期会话 更新。有时它没有显示任何价值,但很多时候它显示 正确的值,如果我刷新页面,会话仍然有 更正散列数据(在步骤5,如果匹配,我已经清除会话 变量),为什么 我尝试用
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次之后,它会显示正确的值。如何做到实时?因此,如果会话已设置,则页面可以直接检查值集,如果会话已清除,则页面将询问密码。?在步骤4:打印($\u会话)中转储会话以查看是否已设置。如果没有,则在进行重定向之前,需要在步骤2中进行设置
另外,不要忘记在每个文件上调用session_start()。甚至尝试查看调试控制台,查看您从何处读取的内容,您是否有代理?问题是什么,为什么页面无法显示session variable/mysql record value的当前值?顺序正确,在我的本地主机中工作。但是上传的结果不一样。尝试打印会话,它不会显示当前值。如果我签入mysql phpmyadmin,数据是正确的,但与页面结果不同。你能发布代码吗?尝试检查会话是否存在:echo session_id();-正如您所知,会话总是与cookie相对应,如果出于某种原因,最初没有设置cookie,则会话将不存在。这可能也有帮助:如果($PHPSESSID)打印“会话存在”;否则打印“会话不存在”;会话存在且具有值,但页面上显示的值与当前值不同。我在尝试使用mysql作为会话替换时发现了这个问题,当phpmyadmin已经显示“b”(新值)时,数据显示为“a”