0

セッションを破棄しようとすると、破棄されたように見える問題が発生します。

しかし、戻るボタンをクリックすると、非表示にする必要があるページの領域が再び表示されるため、変数が返されます。

サイトのこの部分は管理用です サイトのフロント部分にもログインがありますが、これは発生しません

管理者部分のインデックス ページはサブフォルダーにあります。notLoggedIn.php というファイルがあり、管理者をロックアウトしたいページに含めます。notLoggedIn.php は、ログイン時に設定されたセッションの存在をテストします。

ログアウトするときに戻るボタンをクリックすると、これは実際に機能し、管理者のインデックスにリダイレクトされますが、ユーザー名が再び表示され、再度ログインできませんか???

私はもう試した

 $_SESSION = array()

if (isset($_COOKIES[session_name()])) { 
$params = session_get_cookie_params();
setcookie(session_name(), '', 1, $params['path'], $params['domain'], $params['secure'], isset($params['httponly']));
}
session_destroy()

名前によるセッションの設定解除

私が言ったように、これはサイトの他の部分では起こりません...何か提案はありますか?

4

4 に答える 4

1

これは、ページを更新したときに発生しますか? 私の最初のことは、ブラウザによってキャッシュされたページが表示されていることです。ユーザーのログイン時/ログイン後に、これをページに追加してみてください。

header('Cache-Control: no-cache, no-store, must-revalidate');
于 2013-10-31T01:10:54.910 に答える
1

session_start()を呼び出す前に忘れてしまうことが問題になる場合がありsession_destroy()ます。

于 2014-04-23T15:18:34.363 に答える
0

お時間をいただきありがとうございますが、それは WAMP の問題だったようです.MAMP
を使用したり、ライブでアップロードしたりしたら、これまでのところ、この問題は発生していません.

再度、感謝します

于 2013-10-31T10:16:39.547 に答える
0

ブラウザはページ全体の html をキャッシュし、サーバー上で php スクリプトを実行することは言うまでもなく、リクエストを送信することなく、ローカル メモリからページを表示するだけです。

これは、特にリクエストのタイプ (GET/POST) によって影響を受けるキャッシングに関するものです。

于 2013-10-31T01:09:26.080 に答える