php Cookie が削除できない問題の解決策: 最初に PHP サンプル ファイルを作成し、次に setcookie を通じて Cookie を作成し、最後にこの Cookie の有効期間を現在時刻よりも前の時刻に設定して、クッキーを作成しました。
このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
PHP では COOKIE を削除できませんか? COOKIE の有効期間を設定する
PHP は HTTP Cookie を透過的にサポートしています。Cookie はリモート ブラウザ側にデータを保存し、ユーザーの追跡と識別に使用するメカニズムです。 Cookie は setcookie() または setrawcookie() 関数を使用して設定できます。Cookie は HTTP ヘッダーの一部であるため、他の情報がブラウザーに出力される前に setcookie() 関数を呼び出す必要があります。これはヘッダーの制限と同様です() 関数。
setcookie();
Cookie を削除する方法は、この Cookie の有効期間を現在時刻より前に設定することです。
setcookie('test', 'true', time() + 300); // 创建 cookie //setcookie('test',time() - 3600 ); // 清除建立的 cookie //setcookie('test'); //只是将 $_COOKIE['test'] 的值清空 如果直接setcookie('test', ''); echo ''; print_r($_COOKIE); //attay();
$_COOKIE だけでなく、$_COOKIE 配列が空であることがわかります。 ['test'] は空であるため、winsock はパケットをキャプチャし、返された http ヘッダーを観察しました。結果は次のようになりました:
set-cookie:test=deleted; expires=Mon, 29-May-2014 10:22:15 GMT
Login:
setcookie('username', 'zhangsan', time()+1000, "/php100");
Exit:
setcookie('username', '', time()-3600);
IE では終了時に問題ないことが分かりましたが、Firefox でテストすると正常にログインできて終了できませんでした。IE と Firefox の Cookie レコードの違いを確認したところ、第 4 引数 ( setcookie() の正当なパスパラメータ) が指定されていなかったため、ログイン時と終了時にエラーが発生しました。Cookie を設定するためのパスが異なります (Firefox はより厳密であり、その結果、さまざまな変数が再構築されます) [推奨調査: " PHP ビデオ チュートリアル "]
例:
$value = 'something'; setcookie('TestCookie', $value, time() + 3600); setcookie('mytest', $value, time() + 3600, "~rasmus", ".maoge.com", 1); if (isset($_COOKIE['TestCookie'])) { echo 'TestCookie :' . $_COOKIE['TestCookie']; }
以上がPHP Cookie を削除できない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。