ここにセッションを設定するための私のコードがあります
$login_data = array('logged_in'=>TRUE, 'user_id'=>$userid);
$this->session->set_userdata($login_data);
redirect('dashboard');
上記のコードは、データベースの ci_session テーブルに新しいエントリを作成し、logged_in 値を持ちます
ダッシュボードコントローラーでセッションをチェックしています。以下は、ダッシュボードコントローラーの私のコードです
function __construct(){
parent::__construct();
$logged_in = $this->session->userdata('logged_in');
if(!$logged_in){
redirect("welcome");
}
}
上記のコンストラクター ブロックでは、logged_in の値を取得していません。
を使用してすべてのユーザーデータを印刷しようとしましvar_dump($this->session->all_userdata)
たが、取得できるのは空の文字列だけです。
その理由として考えられることを教えてください。Cookie も検索しましたが、コンピューターで見つかりませんでした。以下は私の設定の詳細です
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie'] = TRUE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = TRUE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;