2016-07-18 9 views
0

私は友人の小さなプロジェクトを使ってCodeigniterフレームワークを実践しています。各ページはレイアウトビューとコンテンツビューを別々にロードする必要があります。レイアウトは、ユーザーのログイン情報(ログインしているかどうか、名前、画像など)を表示します。問題は、各アクションのログイン情報を効率的に表示する方法です。アクションのほとんどはレイアウトビューを読み込むので、私はそれを行う必要があります。CodeIgniterでログインを実装する正しい方法は?

私はヘルパーを実装してユーザーモデルを取得しますが、それは正しいですか?

答えて

0

次の方法で使用することができます: - コントローラのコンストラクタ関数でモデルを含め

1つの別個のモデルコンストラクタ関数で必要なコントローラに次にログインの詳細

class Auth extends CI_Model { 

    public function __construct(){ 

     parent::__construct(); 

     $this->load->model('loginModel'); 

     $this->load->library('session'); 

     if(!$this->loginModel->isLogin()){ 

      $this->session->sess_destroy(); 

      redirect('index.php/auth/login','refresh'); 

      exit; 

     } 

    } 
} 

をチェックし

class Main extends CI_Controller { 

    public function __construct(){ 
     parent::__construct();  
     $this->load->model('auth'); 
    } 

} 

コントローラのコンストラクタを追加した場合、コントローラのコンストラクタを追加してもすべてのアクションをチェックする必要はありません

+0

次に、FullnameやPicture Linkのようなビューからユーザ情報を取得するにはどうすればよいですか? $ this-> load-> view( 'view/example'、[something here])を通してすべてのコントローラのすべてのアクションからログイン情報を送信する必要がありますか? –

+0

いいえ、共通ヘッダ、フッタービューもコンストラクタ関数 –

+0

でロードできます。CIはMVCアーキテクチャを使用しています。 –

0

フリストは、パスワードが正しいかどう

  • チェックをログインするユーザを掲載し、そのコントローラ

    • で、ログインコントローラを作成します。はいの場合は、セッション値(たとえばuser_id)&をユーザーコントローラにリダイレクトします。

    第2チェック・セッションが存在しないか、いないのuser_id

    • そのコントローラのコンストラクタ関数では、ユーザーコントローラを作成します。いいえの場合は、ログインにリダイレクトします。

    コンストラクタでチェックするのは、そのコントローラのすべてのメソッドをチェックするためです。

    希望します。

  • 関連する問題