session_destroy

(PHP 4, PHP 5)

session_destroy -- セッションに登録されたデータを全て破棄する

説明

bool session_destroy ( void )

session_destroy()は、現在のセッションに 関連づけられた全てのデータを破棄します。この関数は、 セッションに関するグローバル変数を破棄しません。また、セッション クッキーを破棄しません。

ユーザーがログアウトするときのように、セッションを切断するには、 セッションIDも割り当てを解除する必要があります。セッションIDの受け渡しに クッキーが使用されている場合(デフォルト)には、セッションクッキーも 削除されなければなりません。 そのためにはsetcookie()が利用できます。

成功した場合に TRUE を、失敗した場合に FALSE を返します。

例 1. $_SESSIONでセッションを破棄する

<?php
// セッションの初期化
// session_name("something")を使用している場合は特にこれを忘れないように!
session_start();

// セッション変数を全て解除する
$_SESSION = array();

// セッションを切断するにはセッションクッキーも削除する。
// Note: セッション情報だけでなくセッションを破壊する。
if (isset($_COOKIE[session_name()])) {
    
setcookie(session_name(), '', time()-42000, '/');
}

// 最終的に、セッションを破壊する
session_destroy();
?>

注意: $_SESSIONを使っていない古いコードでのみ session_unset()を使用すること。

unset()setcookie()も参照のこと。