【发布时间】:2013-09-21 16:36:04
【问题描述】:
我正在使用 Codeigniter 2.1.4,但我遇到了一些关于 flashdata 的问题。
当我成功提交记录时,我可以显示 flashdata 消息。但是,如果从显示 flashdata 消息的页面转到其他页面,然后使用浏览器返回按钮返回上一页,它会再次显示 flashdata 消息。
使用后如何清除 flashdata 消息?强>
我认为它不是 flashdata 问题它的缓存问题。我很困惑为什么会这样。 如果它的缓存问题,那么如何删除它?
下面是我用过的代码,
//In the manage of controller
$this->session->set_flashdata('message', "Record updated successfully.");
// In the view of controller
$data['message'] = $this->session->flashdata('message');
// In the view page
echo $message;
【问题讨论】:
-
我已经阅读了你的两个答案的 cmets,是的,你是对的,使用后退按钮是“永远”不会给你新的数据。请在每个表单提交和处理表单/数据
redirect()某处之后,这样您(主要是您的用户)就不必处理“您要重新发送数据吗?” Chrome/Firefox 提供的 nag。 -
当我在 index.php 中使用
header("Expires: Thu, 19 Nov 1981 08:52:00 GMT"); header("Cache-Control: no-store, no-cache, must-revalidate");时,它工作正常。这是消除缓存问题的好选择吗? -
我会选择“刷新”(
redirect())而不是搞乱标题。但是你解决了你的问题,我们没有你所拥有的全局(为什么需要后退按钮才能工作 -redirect()解决了这个“问题”)。 -
@Sachin,你有没有找到解决办法?我花了几个小时但无济于事
标签: php codeigniter google-chrome firefox