Codeigniter阻止'确认表格重新提交'

时间:2017-03-01 17:44:27

标签: php forms codeigniter codeigniter-3

我知道阻止确认表单重新提交的首选方法'警告是使用GET。但是当使用Codeigniter时,你主要使用POST(在某种意义上,大多数表单辅助函数都不会起作用和其他东西)。

防止'确认表单重新提交的最佳方式是什么?'使用Codeigniter时会发出警告吗?

编辑:人们有很好的想法,但我的问题是这是一个搜索页面,我希望重新提交表单。我无法使用重定向,因为这会消除POST数据。

5 个答案:

答案 0 :(得分:1)

尝试在控制器中重定向到自身,重定向将服务该作业,因为下次它将无法获取提交表单,

答案 1 :(得分:1)

Suhindra是正确的。

我在创建博客引擎时使用了该模式。例如,处理博客帖子输入的controller方法以此代码结束 - 重定向到加载页面的位置,而不是直接页面加载:

$this->session->set_flashdata('info', 'blog post created'); $this->load->helper('url'); redirect("/blogs/$posts_id", "refresh");

答案 2 :(得分:0)

你可以在成功和完成工作后取消表格的价值。检查我的答案,我遇到同样的问题:

Clear form data after success codeigniter using php not jquery

答案 3 :(得分:0)

使用 redirect("./conrtollerName/SETTING/","refresh"); 而不是 $this->load->view('SETTING');

答案 4 :(得分:0)

发送请求后清除缓存

$this->output->set_header('HTTP/1.0 200 OK');
$this->output->set_header('HTTP/1.1 200 OK');
$this->output->set_header('Last-Modified: ' . gmdate("D, d M Y H:i:s") . ' 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');
$this->load->view('header', $data);
$this->load->view('nav', $data);
$this->load->view('searchdesigns', $data);
$this->load->view('footer', $data);