2016-11-10 6 views
0

私はcodeigniterを初めて学び、それを学びます。Codeigniterセッションが存在するかどうかを表示するコントローラー

私は2つのコントローラを持っています.1つ目はmainと呼ばれ、ユーザー登録/ログインに応答します。もう1つはtodoと呼ばれ、todoリストを表示します。

localhost/listにアクセスすると、私のウェブサイトでページが開きます。ユーザーがログインしているかどうかをテストするセッションロジックはどこにありますか?

私のコントローラのTODO

defined('BASEPATH') OR exit('No direct script access allowed'); 

class Lists extends CI_Controller { 

public function index() 
{ 
    $this->load->view('lists');} 
} 

どのように私はセッションを使用してそれを表示します:

if($this->session->userdata('is_logged_in') == 1) 

または私は各関数の前にセッション・ロジックを入れなければならないのですか?

+0

'パブリック関数の__construct()を { 場合(の$ this - >セッション - >ユーザデータ( 'is_logged_in')! = 1){// redirect} } –

+0

ありがとう@RazibAlMamunありがとうございますが、どこにコードを挿入しますか? – Radu033

+0

私は自分の答えを提出しました。 –

答えて

1

は、次のような__construct()

でセッション$this->session->userdata('is_logged_in')条件を置く:

<?php 
class Lists extends CI_Controller { 

    public function __construct() { 
     parent::__construct(); 
     if($this->session->userdata('is_logged_in') != 1) { 
      //redirect code here 
     } 
    } 

    public function index() { 
     $this->load->view('lists');} 
    } 
} 
+0

素晴らしい、ありがとう、うまくいきます。 – Radu033

関連する問題