ホームページ >バックエンド開発 >PHPチュートリアル >PHP で Web サイトに関連付けられたすべての Cookie を効率的に削除するにはどうすればよいですか?
ユーザーのログアウト時に Web サイトの Cookie をすべて削除しようとしたときに、次のコードで問題が発生しました:
<code class="php">setcookie("user",false);</code>
このコードは効果がないようです。特定のドメインから Cookie を削除する別のアプローチを検討してみましょう。
PHP の setcookie() 関数は、Cookie の設定と消去の両方を行う手段を提供します。 Cookie を削除するには、その値を空の文字列に設定し、有効期限を過去の日付に設定します。
<code class="php">setcookie("name", "", time() - 3600);</code>
削除するためのこのアプローチの実装ドメインに関連付けられたすべての Cookie には代替ルートが必要です。 PHP の setcookie() 関数には、複数の Cookie を同時に削除する機能がありません。ただし、$_SERVER['HTTP_COOKIE'] 変数を利用すると、既存の Cookie を列挙して個別に削除できます。
<code class="php">// unset cookies if (isset($_SERVER['HTTP_COOKIE'])) { $cookies = explode(';', $_SERVER['HTTP_COOKIE']); foreach($cookies as $cookie) { $parts = explode('=', $cookie); $name = trim($parts[0]); setcookie($name, '', time()-1000); setcookie($name, '', time()-1000, '/'); } }</code>
Cookie をループし、パスと有効期限の両方の値を空の文字列に設定することで、現在のドメインに関連付けられているすべての Cookie を効果的に消去できます。
以上がPHP で Web サイトに関連付けられたすべての Cookie を効率的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。