Php 在CodeIgniter中验证失败时重定向特定错误页面

Php 在CodeIgniter中验证失败时重定向特定错误页面,php,codeigniter,validation,Php,Codeigniter,Validation,我正在创建一个有不同部分的单页网站,其中一个是注册页,当我提交表单而不输入值时,它会显示错误,但页面不会加载到该部分,页面卡在上面。我希望当验证失败时,页面需要在该特定错误上重定向 示例:若我并没有填写firstname,而是填写了lastname,那个么页面需要直接重定向firstname // Controller if($this->form_validation->run() == false) { $data=array();

我正在创建一个有不同部分的单页网站,其中一个是注册页,当我提交表单而不输入值时,它会显示错误,但页面不会加载到该部分,页面卡在上面。我希望当验证失败时,页面需要在该特定错误上重定向

示例:若我并没有填写firstname,而是填写了lastname,那个么页面需要直接重定向firstname

 // Controller
 if($this->form_validation->run() == false) 
    {
            $data=array();
            $base = array();
            $data['whatsinside']=$this->load->view(codeg_front_version('whatsinside'), '', true);
            $data['signup']= $this->load->view(codeg_front_version('signup'), '', true);
            $base['custom'] = 'home';
            codeg_base($data,$base,true,true,true); 
}
else
{
   Redirect to thank you page
}
看法


名字

你需要这样的东西:

// check form validation only on POST action
if ($this->input->post('submit') == 'save') {
    if ($this -> form_validation -> run() == TRUE) {
        // form is valid
        // save data and redirect to thank you page
        redirect('thank_you_page');
    } else {
        // we have errors
        // redirect to specific page section
        redirect('same_page#error_section');
    }

}
<button type="submit" name="submit" value="save">
    Save
</button>
您需要有如下操作按钮:

// check form validation only on POST action
if ($this->input->post('submit') == 'save') {
    if ($this -> form_validation -> run() == TRUE) {
        // form is valid
        // save data and redirect to thank you page
        redirect('thank_you_page');
    } else {
        // we have errors
        // redirect to specific page section
        redirect('same_page#error_section');
    }

}
<button type="submit" name="submit" value="save">
    Save
</button>
编辑3

请考虑重定向后,
set\u value
将不起作用,因为set\u value要求表单验证在同一上下文中运行。。。重定向时会丢失此上下文


要转到特定的输入部分而不丢失以前输入的数据,需要使用客户端验证而不是服务器端验证。这将帮助您在提交页面之前进行验证。

请添加示例代码:view and controllerNo,我已经阅读了那篇文章。感谢@vasilenicusoruse if($this->form_validation->run()==false){redirect('same_page#anchor');}在你看来,看看这个,我也尝试过这个,但是重定向卡在循环中错误太多重定向实际上是一样的,我的方法是有效的,但是当表单得到多个空白值时,如何在重定向中逐个传递id,以便表单加载特定的部分和输入。请添加页面逻辑、表单内容、,要查看逻辑,请检查描述。非常感谢您的回答。它奏效了:)你的努力真是恰到好处@vasilenicusor