0

我在验证我的表单时遇到了问题,因为我的视图(表单所在的页面)加载了查询字符串。

我的查看 URL 如下所示:http ://mydomain.com/insert/new?image=http://www.image.com/image.jpg

为了使该视图正常工作,我需要查询字符串,因为它会查找图像 URL 并在我的页面上执行操作。

当我在此页面上提交未经验证的表单时(验证工作正常),而不是使用 $this->load->view('insert_new'); (其中 insert_new 是我的带有上面 URL 的视图页面),我使用查询字符串动态构造一个 URL 并使用 header('Location:' . $view); 功能。视图文件有 echo form_errors(); 但是,我没有看到任何错误。这是因为构造的 URL 和查询字符串吗?还要确认一下,我的控制器查看页面和处理表单的功能是不同的。我怎样才能让它工作?谢谢。

4

1 回答 1

0

如果我理解正确,您的流程如下:

  1. 系统使用 GET url 数据加载表单页面(图像)
  2. 用户提交表单
  3. 系统验证表单并使用 HTTP 重定向重定向到 $view

问题是,通过重定向 POST 表单数据会丢失,因为浏览器会向构造的 URL 发送另一个 GET 请求 - 并且不会重新提交数据!

因此,如果您想显示任何表单错误,您必须在与验证相同的请求中执行此操作,即通过在验证后加载视图而不是重定向。

于 2013-11-11T19:32:47.037 回答