我有一个包含表单的页面,当任何用户提交它时,数据都会发送到控制器,控制器检查验证,如果有任何错误,它将用户重定向到上一页(包含表单的页面),否则它将数据发送到模型。
要从控制器重定向到上一页(如果有任何验证错误),我有以下代码
redirect($this->input->post('redirect'));
上面的代码工作正常,但问题是在将用户重定向到上一页(包含表单的页面)后,它没有显示验证错误。
那么,请您告诉我如何通过我上面发布的这个“重定向”代码传递验证错误信息,并在该页面上显示验证错误消息?
提前致谢 :)
解决方案:
在我的控制器中:
$redirect=$this->input->post('redirect'); // << for this I have- <input name="redirect" type="hidden" value="<?= $this->uri->uri_string() ?>" /> in my view file
$this->session->set_flashdata('errors', validation_errors());
redirect($this->input->post('redirect'));
在我的视图文件中:
<?php
if ($this->session->flashdata('errors')){ //change!
echo "<div class='error'>";
echo $this->session->flashdata('errors');
echo "</div>";
}
?>
因此,我可以通过从控制器重定向到上一页来传递验证错误数据
您可以尝试 CI 会话库中的 flashdata。它使数据可用于下一个服务器请求。
$this->session->set_flashdata('errors', validation_errors());
redirect($this->input->post('redirect'));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)