0

Cookie を削除したいのですが、Cookie を削除するにはブラウザを更新するか、別のリンクをクリックする必要があります。PHPでヘッダー(..)を使用しました。

if(isset($_COOKIE['auth_key'])){setcookie("auth_key", "", time() - 3600);}
header("Location: ../login.php"); 

ログイン ページにアクセスすると Cookie が出力されますが、更新すると消えてしまうか、そこから別のリンクに移動すると消えてしまいます。

ユーザーの操作なしで Cookie を削除し、サーバーが login.php をロードする前に削除したいと考えています。

どんな助けでも大歓迎です。

この答えは次のとおりです。

 if(isset($_COOKIE['auth_key'])){setcookie("auth_key", "", 1,'/');}

Cookie をスラッシュ「/」で設定したためです。これを使用して削除しましたが、現在は機能しています。ただし、更新時に Cookie がまだ削除されているのは奇妙でした。

4

3 に答える 3

0

このリダイレクト ページではなく、login.php の先頭にある Cookie を (このコードを使用して) クリアするだけです。

于 2012-10-24T15:06:05.937 に答える
0

おそらくタイムアウト期間を設定することを検討してから、Javascript を使用してサーバー側のページへの AJAX 要求を開始し、問題の Cookie を削除します。

于 2012-10-24T15:06:21.440 に答える
0

私が見つけた正解は、Cookie に「/」を設定することでした。

if(isset($_COOKIE['auth_key'])) {
    setcookie("auth_key", "", 1, '/');
}

これを使用してすべての Cookie を削除しましたが、現在は機能しています。ただし、Cookie は更新時に削除されます。

于 2012-10-24T16:11:07.667 に答える