【发布时间】:2017-07-18 09:06:59
【问题描述】:
我正在使用 codeigniter 3.1.5 HMVC 开发一个网站,现在我正在编写管理面板。
我设计了登录屏幕和仪表板面板。我可以成功登录和注销,会话等没有问题。
但我的问题是,我的浏览器 (Chrome) 正在缓存我的仪表板页面,注销后,当我单击浏览器上的“返回”按钮时,我可以看到缓存的仪表板页面,但我想禁用它。 (当我刷新页面时,它会将我重定向到登录面板)
我怎么知道问题出在浏览器上?
我正在本地 wamp 服务器上开发该站点。注销后,我停止了 wamp 服务器并单击返回按钮并浏览器加载页面(但它不应该加载,因此它来自浏览器的缓存)
我在控制器的每个位置(在构造函数中或注销后等)都尝试了这些代码,但没有解决问题。
$this->output->set_header("HTTP/1.0 200 OK");
$this->output->set_header("HTTP/1.1 200 OK");
$this->output->set_header('Expires: Sat, 26 Jul 1997 05:00:00 GMT');
$this->output->set_header('Last-Modified: '.gmdate('D, d M Y H:i:s', time()).' GMT');
$this->output->set_header("Cache-Control: no-store, no-cache, must-revalidate");
$this->output->set_header("Cache-Control: post-check=0, pre-check=0");
$this->output->set_header("Pragma: no-cache");
我该如何解决这个问题? 谢谢,最好的问候。
【问题讨论】:
-
解决方案是Post/Redirect/Get。
-
好的,能给我一些示例代码吗?
-
请澄清您的具体问题或添加其他详细信息以准确突出您的需要。正如目前所写的那样,很难准确地说出你在问什么。请参阅How to Ask 页面以获得澄清此问题的帮助。编辑您的问题并发布当前代码。含义控制器代码至少在哪里是登录/注销逻辑。
-
@Tpojka 谢谢你的回答。我试过你的建议,现在它对我有用。在应用 Post/Redirect/Get 时,我使用了这种模式:link。非常感谢:)
-
快乐编码。 :)
标签: php codeigniter session caching