0

ユーザーをサイトからログアウトさせるスクリプトがあります。ユーザーのログインデータに関連するすべての $_SESSION および $_COOKIE 変数の設定を解除します。しかし、どういうわけか、ログアウトできないようです。ログアウト スクリプトの最後と、各ページの最初にある $_SESSION 配列を確認しました。ログアウト スクリプトの最後に「array()」と表示されますが、ホーム ボタンまたはサイト上の任意のリンクをクリックすると、完全なセッション データが再び表示され、それがどこから来たのかわかりません。これは私がセッションデータを設定解除しようとする方法です: unset($_SESSION); unset($_COOKIE["usid"]); unset($_COOKIE["pw"]); unset($_COOKIE["adm"]);-- 別の行に配置する方法はわかりませんが、読むのはそれほど難しくありません。
これらのデータが戻ってくるのはなぜですか?!

4

1 に答える 1

0

PHP のドキュメントには、「$_SESSION スーパーグローバルを介したセッション変数の登録が無効になるため、unset($_SESSION) で $_SESSION 全体を設定解除しないでください」と記載されています。

代わりにこれを試してください: $_SESSION = array(); (PHPドキュメントで推奨されているとおり)。

于 2010-05-04T10:19:50.877 に答える