CodeIgniter - 使用重定向重新填充无效表单

3 php forms validation codeigniter http

我正在使用Post-Redirect-Get模式来避免在POST提交后刷新页面时出现问题.重定向会清除所有已发送的POST数据,这意味着我无法再使用set_value()相关函数填充字段.

为了使这更清楚,这是它的工作原理.

  1. 客户端提交包含无效数据的POST.
  2. 将发送303重定向标头.
  3. 客户端在标头位置执行GET但POST数据消失,这意味着无法重新填充表单.

帮助pleeeease?:)

Cal*_*dge 6

将发布数据设置为flashdata(会话类的一部分):

$this->session->set_flashdata('post', $this->input->post());
Run Code Online (Sandbox Code Playgroud)

然后得到它:

$this->session->flashdata('post');
Run Code Online (Sandbox Code Playgroud)

您可以使数据持续更长时间:

$this->session->keep_flashdata('post');
Run Code Online (Sandbox Code Playgroud)

更多信息:http://codeigniter.com/user_guide/libraries/sessions.html