如何传递有价值的重定向?

时间:2012-01-21 00:06:38

标签: php codeigniter http-redirect

在用户未通过授权后,我无法尝试传递有价值的内容。我想将$ error传递给欢迎控制器但不确定如何。请帮忙。谢谢。

  private function _user_check()
            {
                 //after form validation, I pass username and password to the model
                    $this->load->model('user_query');
                    $result=$this->user_query->query($this->input->post('username'),$this->
                    input->post('password'));

                    if($result)
                {
                    redirect('main');

                }else{
                    // I am not sure how to pass this error message to my welcome controller
                    $data['error']='Please check your username or password';
                    redirect('welcome');
                }


        }

1 个答案:

答案 0 :(得分:2)

在重定向功能中,您没有提供完整的URL,因此CI会将该参数视为控制器的URI段。

知道这一点,你可以有类似的东西:

redirect('welcome/error/error_user_pass');

并让你的“error_user_pass”传递给CI项目中定义的参考错误常量。

在你的application / config / constants.php文件中可能是这样的:

define('error_user_pass', 'incorrect user or password, please check yo self!');

然后在你的“欢迎”控制器中有这样的事情:

class Welcome extends CI_Controller {
  public function error(){
    $errors = func_get_args();
    foreach( $errors as $error ){
      //echo error, or save it, or whatev
    }
  }
}