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

标签 php forms http validation codeigniter

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

为了更清楚地说明这一点,下面是它的工作原理。

  1. 客户提交了包含无效数据的 POST。
  2. 发送回 303 重定向 header 。
  3. 客户端在 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/

相关文章:

javascript - 使用 javascript ipinfo 响应填充输入字段

html - HTTP header - 硬刷新 JavaScript/CSS

php - 在 html 中包含 html 函数和 css

php - 初始化时的同位素奇怪空间

php - 如何在结账页面复制标题?

Apache http 服务器每 60 秒断开一次连接

http - URL 路径中的段的安全最大长度应该是多少?

PHP:可以包含 file_exists() 说不存在的文件

jquery - 如何通过 jquery 将 json 响应 Hook 到 html 表单?

javascript - Nodejs 页面在 POST 后未重定向