Keep It Real BLOG

ソフトウェアエンジニア。1児の父。 酒、ラーメン、サッカー好き。旅行も好きですが、普段は出不精で大抵たまプラーザ界隈に居ます。

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

f:id:naohide_a:20151202195340j:plain

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);

今のところ、これが一番簡単かなと。