続:掲示板を作ろう その8
ログインしたら、ログアウトもないと困るよね。ってことでログアウト機能つけてきます。
非ログイン時はコメントフォーム、ログアウト時はログインフォームを表示させるような感じの作りにしたいので、そんな流れで!
ビュー logout.php を作る
<p><a href="<?php echo site_url('board/logout'); ?>">ログアウト</a></p>
これにて終了。なんというシンプルさ。
コントローラに logout.php を読み込ませる
if($this->session->userdata('logged_in') === TRUE) { if ($this->form_validation->run('comments') === FALSE) { $this->load->view('logout'); ← ここ $this->load->view('form'); } else { $this->boardmodel->insert(); redirect('board'); }
ログイン時だけ、表示させればいいので、$this->load->view('loguout') で読み込んで終了。
なんというシンプルさ。
コントローラにログアウト機能を追加する
public function logout() { $this->session->sess_destroy(); redirect('board'); }
なんというシンプルさ。
参照:セッションクラス : CodeIgniter ユーザガイド 日本語版
$this->session->sess_destroy();
これでログイン状態を解除して、リダイレクトすると。
$this->session->unset_userdata('logged_in');
これでもログイン状態の管理は出来るかなと。
CodeIgniterのセッションクラスは、データベース側で管理するセッションと違って暗号化されたデータをクッキーに保存する形らしいので、さっぱり消した方がいいのかなーなんて思ったりらじばんだり。
と、まだまだ実装できてない機能がありますがここいらで、完成ということにしちゃいます(:D)rz