Php 由于重定向,未显示CodeIgniter表单验证

Php 由于重定向,未显示CodeIgniter表单验证,php,codeigniter,Php,Codeigniter,我有一个编辑页面,它从uri段获取id和状态。问题是,如果用户没有选择图像或完成表单的一部分,页面应该重新加载并显示表单的验证错误。但是,页面重新加载会导致表单中的数据丢失。有没有办法解决这个问题?任何帮助都将不胜感激。我附加了我的视图和控制器 if ($this->form_validation->run() == FALSE) { $this->session->set_flashdata('field', form_error('field', '

我有一个编辑页面,它从uri段获取id和状态。问题是,如果用户没有选择图像或完成表单的一部分,页面应该重新加载并显示表单的验证错误。但是,页面重新加载会导致表单中的数据丢失。有没有办法解决这个问题?任何帮助都将不胜感激。我附加了我的视图和控制器

 if ($this->form_validation->run() == FALSE) {
        $this->session->set_flashdata('field', form_error('field', '<span class="text-danger pl-3">', '</span>'));

        redirect("url");
    } else {
        # code...

    }
看法

如果($this->form\u validation->run()==false){
重定向('/Control/Products/ProductDetail/index/'.$inputcurrentid./'.$inputcurrentstatus);

我认为这个重定向STM的问题不是使用它,而是需要使用load view,这样它将保留错误数组。

只需在控制器中执行此操作即可

 if ($this->form_validation->run() == FALSE) {
        $this->session->set_flashdata('field', form_error('field', '<span class="text-danger pl-3">', '</span>'));

        redirect("url");
    } else {
        # code...

    }
if($this->form\u validation->run()==FALSE){
$this->session->set_flashdata('field',form_error('field','');
重定向(“url”);
}否则{
#代码。。。
}
在重定向页面中使用

<?= $this->session->flashdata('field'); ?>


是的,我知道。但是如果我使用$this->index(),我的预填充表单数据将丢失没有,您需要在视图中使用
设置值('inputproductname','value if any'))
来重置输入值。我最后使用会话存储变量,并在更新完成时取消设置它们。谢谢!
<?= $this->session->flashdata('field'); ?>