我正在使用 Post-Redirect-Get模式以避免在 POST 提交后刷新页面时出现问题。重定向会清除所有已发送的 POST 数据,这意味着我无法使用 set_value()
和相关函数再次填充字段。
为了更清楚地说明这一点,下面是它的工作原理。
- 客户提交了包含无效数据的 POST。
- 发送回 303 重定向 header 。
- 客户端在 header 位置执行 GET,但 POST 数据消失了,这意味着无法重新填充表单。
请帮忙? :)
最佳答案
将发布数据设置为 flashdata( session 类的一部分):
$this->session->set_flashdata('post', $this->input->post());
然后得到它:
$this->session->flashdata('post');
您还可以使数据保留更长时间:
$this->session->keep_flashdata('post');
更多信息:http://codeigniter.com/user_guide/libraries/sessions.html
关于php - CodeIgniter - 使用重定向重新填充无效表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8109355/