如何通过重定向传递有价值的信息



在用户授权失败后,我在尝试传递有价值的信息时遇到了问题。我想将$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');
                }

        }

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

知道了这一点,你可能会有这样的东西:

redirect('welcome/error/error_user_pass');

并让传递的"error_user_pass"引用CI项目中定义的错误常量。

也许在你的应用程序/config/contents.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
    }
  }
}

最新更新