0

CodeIgniterにログインしている複数のユーザー(admin、user)のセッション(セッションIDの設定、セッションIDの取得)をどのように維持しますか?

私はこれを使用していif($this->session->userdata('logged_in') == '')ます。しかし、これは機能していません。

ありがとう

4

5 に答える 5

3

これを試して

 if ($this->session->userdata('logged_in')!=FALSE) {

        print_r($this->session->all_userdata());
    }

したがって、現在のユーザーデータを見つけることができます

于 2013-03-19T06:05:08.047 に答える
0

セッション ライブラリをロードしてください

セッション ライブラリを自動ロードするかどうかに応じて、以下を含める必要があります。

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

次に、次を使用できるはずです。

    $this->session->set_userdata('logged_in', 'some_value');

セッションが設定されているかどうかを確認するには、使用するだけです

   if($this->session->userdata('logged_in')){
      //code for logged in 
   }

それでもうまくいかない場合は、ブラウザのキャッシュをクリアしてみてください

それが役立つことを願っています!

于 2013-03-19T05:27:05.983 に答える
0

最初に、取得しようとしているセッション アイテムが存在するかどうかを確認してから、必要な値と比較する必要があります。これを試して:

if( $this->session->userdata("logged_in") !== FALSE ){
    if( $this->session->userdata("logged_in") == "admin" ){
        //logged in as admin
    }elseif( $this->session->userdata("logged_in") == "user" ){
        //logged in as user
    }
}

もう一つ、

parent::__constructor();

行は常にコンストラクター関数のコードの最初の行にする必要があります。そうしないと、コードの後半で多くのエラーが発生します

于 2013-07-15T11:17:33.717 に答える
0

好きな前にセッションを定義した場合、

$this->session->set_userdata('logged_in', 'value');

次に、セッションが正しく設定されているかどうかを確認し、

if(isset($this->session->userdata('logged_in')) {

      if($this->session->userdata('logged_in') == '') {
           // Your Code
      }
}

上記がfalseisset()を返す場合、セッションは正しく設定されていません。それを確認します。

于 2013-03-19T04:54:03.780 に答える
0

最初に天気をチェックして、セッションライブラリをロードしました..

空白の値を検証して間違っている場合は、これを使用してください

// to set the session data
$this->session->set_userdata('name', 'value');  // note u can also pass array

if(isset($this->session->userdata('name'))){

   //to read session data
   $this->session->userdata('name'); // note u can also pass array

   //to unset or delete
   $this->session->unset_userdata('name');

}

于 2013-03-19T04:48:55.290 に答える