当我的View仅使用查询字符串加载时,如何在CodeIgniter中验证表单?

时间:2013-11-11 19:15:30

标签: php forms codeigniter

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

我的观看网址如下:http://mydomain.com/insert/new?image=http://www.image.com/image.jpg

要使此视图生效,我需要查询字符串,因为它会查找图片网址并在我的页面上执行操作。

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

1 个答案:

答案 0 :(得分:0)

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

  1. 系统加载带有GET网址数据(图片)的页面
  2. 用户提交表单
  3. 系统验证表单并使用HTTP重定向重定向到$ view
  4. 问题是,通过重定向POSTed表单数据会丢失,因为浏览器会向构造的URL发送另一个GET-Request,而不会重新提交数据!

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