CodeIgniterにログインしている複数のユーザー(admin、user)のセッション(セッションIDの設定、セッションIDの取得)をどのように維持しますか?
私はこれを使用していif($this->session->userdata('logged_in') == '')
ます。しかし、これは機能していません。
ありがとう
CodeIgniterにログインしている複数のユーザー(admin、user)のセッション(セッションIDの設定、セッションIDの取得)をどのように維持しますか?
私はこれを使用していif($this->session->userdata('logged_in') == '')
ます。しかし、これは機能していません。
ありがとう
これを試して
if ($this->session->userdata('logged_in')!=FALSE) {
print_r($this->session->all_userdata());
}
したがって、現在のユーザーデータを見つけることができます
セッション ライブラリをロードしてください
セッション ライブラリを自動ロードするかどうかに応じて、以下を含める必要があります。
$this->load->library('session');
次に、次を使用できるはずです。
$this->session->set_userdata('logged_in', 'some_value');
セッションが設定されているかどうかを確認するには、使用するだけです
if($this->session->userdata('logged_in')){
//code for logged in
}
それでもうまくいかない場合は、ブラウザのキャッシュをクリアしてみてください
それが役立つことを願っています!
最初に、取得しようとしているセッション アイテムが存在するかどうかを確認してから、必要な値と比較する必要があります。これを試して:
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();
行は常にコンストラクター関数のコードの最初の行にする必要があります。そうしないと、コードの後半で多くのエラーが発生します
好きな前にセッションを定義した場合、
$this->session->set_userdata('logged_in', 'value');
次に、セッションが正しく設定されているかどうかを確認し、
if(isset($this->session->userdata('logged_in')) {
if($this->session->userdata('logged_in') == '') {
// Your Code
}
}
上記がfalseisset()
を返す場合、セッションは正しく設定されていません。それを確認します。
最初に天気をチェックして、セッションライブラリをロードしました..
空白の値を検証して間違っている場合は、これを使用してください
// 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');
}