PHPでセッション使用時のログアウトについて
今、PHPでスクラッチで掲示板を作っています。
セッションをcookieを使用するようにして、ログインとかログアウトとかするようにしているのですが、
ログアウト処理をしたはずなのに、なぜか記事が見れてしまう現象が起きました。
会員制にしているので、それは仕様とは言えなく、まずいのですよね。
その時のソースがこちら。
<?php // セッション変数を解除 $_SESSION = array(); // セッションを破棄 session_destroy(); ?>
わかりますか?
cookieを使っているので、上記のソースだとクライアント側にはcookieが残ってしまっています。
正しくはこんな感じです。
<?php // セッション変数を解除 $_SESSION = array(); // セッションcookieを削除 if (isset($_COOKIE[session_name()])) { setcookie(session_name(), '', time()-42000, '/'); } // セッションを破棄 session_destroy(); ?>