4

これはセッションを破棄するコードですが、まだ機能しています。

<?php
 session_start();

 $_SESSION['name'] = 'Arfan';

 $_SESSION['second_name'] = 'Haider';

echo 'My full name is '.$_SESSION['name'].$_SESSION['second_name'].'<br/>';

unset($_SESSION['second_name']);// unset the second_name session

echo 'My name is '.$_SESSION['name'].$_SESSION['second_name'].'<br/>';// work fine error popup

session_destroy();// Destroy all the session

echo $_SESSION['name']; // session is working here.
?>

コードセッションの最後でわかるように、なぜ機能しているのでしょうか?

4

2 に答える 2

4

ドキュメントから:

ユーザーをログアウトするなど、セッションを完全に強制終了するには、セッション ID も設定解除する必要があります。Cookie を使用してセッション ID を伝達する場合 (デフォルトの動作)、セッション Cookie を削除する必要があります。そのために setcookie() を使用できます。

session_start();
session_unset();
session_destroy();
session_write_close();
setcookie(session_name(),'',0,'/');
session_regenerate_id(true);
于 2013-05-26T12:13:42.823 に答える
0

を使用するsession_destroy()と、セッション Cookie が削除され、セッションはサーバーに保存されなくなります。の値$_SESSIONは引き続き使用できる場合がありますが、次のページの読み込み時には使用できません。

セッションを完全にクリアしたい場合は、次を使用できます。

session_start();
session_destroy();
$_SESSION = array();
于 2013-05-26T12:13:34.210 に答える