2016-07-11 13 views
-5

これは明らかな疑問のように思えるかもしれませんが、私自身は本当に答えを見つけることができませんでした。正しい方法でセッションを破壊する

ログアウトスクリプトでは、セッションを破壊するさまざまな方法があります。時々それらは一緒に使用される。

なぜ私はもう一方の方法を使用する必要がありますか?

// One 
session_unset(); 

// Two 
session_destroy(); 

// Three 
$_SESSION = array(); 

私はこれらの機能が何をしているのか、どのように使用されているのか分かります。私が理解できないことは、なぜなら同じことをとにかく行うのであれば、複数の方法があるからです。私はこの質問をして、これについてより良い洞察を得るように頼んだ。

+2

使用 'session_destroy();' – vaso123

+0

'session_unsetは();' '$ _SESSION =配列()に等しい;' –

+0

のみ 'session_destroy()は'直接セッション –

答えて

2

彼らは同じことをしません。 セッションを設定解除すると、$ _SESSION変数がクリアされます。

session_unset(); 

session_destroy()は、現在のセッションに関連付けられたすべてのデータを破壊します。セッションに関連するグローバル変数の設定を解除したり、セッションCookieの設定を解除したりすることはありません。セッション変数を再度使用するには、session_start()を呼び出す必要があります。

PHPマニュアルでは、session_destroyが変数の設定を解除しないことを指定しています。

$ _SESSIONを使用しない古い廃止予定のコードに対してのみsession_unset()を使用してください。

Unsetは、destroyがすべてのセッションを対象とする特定のセッションをターゲットにするために使用されます。

関連する問題