ユーザーが承認されたら、ユーザーをメインページに誘導しようとしています。 login_checkコントローラーでユーザーチェックを行って$this->load->view('main');
を追加していますページはロードできますが、メインページのサイトアドレスは引き続き表示されます
でも見せたい
新しい「メイン」コントローラーを作成し、ビューをロードする必要がありますか?私には冗長に聞こえます。これが私のコードです。
私の一部login_check.php
private function _user_check()
{
$this->load->model('user_query'); //load my model
$result=$this->user_query->query($this->input->post('username'),$this->input->post('password'))
if($result) //the user is in DB
{
$data['view']='main';
$this->load->view('include/template', $data);
//the address bar shows http://myproject/login_check in main page
}else{ //the user is not in DB
$data['view']='login';
$this->load->view('include/template', $data);
}
}
まず、ユーザーが認証されているかどうかを確認するという非常に貧弱な仕事をしています(モデルにユーザー名/パスを渡すだけでは最適ではありません。モデルに送信する前に処理/確認する必要があります)。
ヘルパー 'URL'を含めることで簡単にリダイレクトを作成し、次を使用できます。
redirect('/controller/method');
または実世界の例では:
redirect('/main');
別の方法がありますが、コントローラーがRestコントローラーの場合、redirect()に似ています
別のコントローラーのレストクライアントを使用して、サーバーコントローラーのメソッドを呼び出すことができます。
_redirect('controller/function');
_
たとえば、次のようなルートを持つredirect('auth/login');
を使用できます
_$route['auth/login'] = 'auth/auth/index';
_