小技プログラミング

PHPでセッションを完全に破棄する方法

PHPでセッションを完全に破棄する方法です。

セッションを破棄しても破棄してもうまく行かない、そんな時は以下の手順を試してみてください。

1.まずはセッション変数をarray()で初期化します。
2.次にsetcookie()でcookieを破棄します。
3.最後にsession_destroy()でセッションそのものを破棄します。

  • session_start();
  • //セッションの初期化
  • $_SESSION = array();
  • if (isset($_COOKIE[session_name()])) {
  • //セッションcookieを破棄します
  • setcookie(session_name(), '', time() - 1800, '/');
  • }
  • //最終的にセッションを破棄します
  • session_destroy();

※注意:セッションの破棄にsession_unset()は利用しないようにしてください。
セッションという存在そのもの削除してしまう為、セッション変数の登録が出来なくなってしまいます。