如何通过redirect()传递验证错误数据



我有一个包含表单的页面,当任何用户提交它时,数据转到控制器,控制器检查验证,如果有任何错误,它将用户重定向到前一个页面(包含表单的页面),否则它将数据发送到模型。

要从控制器重定向到前一页(如果有任何验证错误),我有以下代码
        redirect($this->input->post('redirect'));

上面的代码工作正常,但问题是在它将用户重定向到前一个页面(包含表单的页面)之后,它没有显示验证错误。

所以你能告诉我如何通过我上面发布的"重定向"代码传递验证错误信息,并在该页上显示验证错误信息吗?

Thanks in Advance:)

<标题>解决方案:

In my controller:

   $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'));

最新更新