CodeIgniterでセッション保持する・しないの振り分け

プログラミング

ログイン状態の振り分けをチェックボックスで行う場合

CodeIgniterでセッションを取り扱うとなるとCookieに自動的に保持されてしまうんですよね。
クライアントからの要望で、ログイン状態を保持する・しないというチェックボックスを付けてくれっていうのがあったので、暫定的に簡素な実装をしてみました。

初期の設定として、configでは、DBセッションを使うよう指定しています。

$keepLogin = $this->input->post('keep_login');
// ログインを保持しない場合、普通のセッションを使用する
if (empty($keepLogin)) {
    $this->config->config['sess_expire_on_close'] = TRUE;
    $this->config->config['sess_use_database'] = FALSE;
    $this->session = new CI_Session($this->config->config);
}
$this->session->set_userdata('user_id', $user_data->id);

最後に

今のところ、これが一番簡単かなと思いますが、個人的にはログイン保持のチェックボックスはあまり好きではありません。。

コメントを残す