ホームページ  >  記事  >  バックエンド開発  >  PHPでCookieをクリアする方法

PHPでCookieをクリアする方法

藏色散人
藏色散人オリジナル
2021-07-05 10:59:354747ブラウズ

PHP が Cookie をクリアする方法は、この Cookie の有効期間を現在時刻より前に設定することであり、実装コードは「setcookie('test',time() - 3600);」のようになります。

PHPでCookieをクリアする方法

この記事の動作環境: Windows 7 システム、PHP バージョン 7.1、DELL G3 コンピューター

Cookie をクリアする方法PHP? 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

ログイン:

setcookie('username', 'zhangsan', time()+1000, "/php100");

終了:

setcookie('username', '', time()-3600);

IE ではログアウト時に問題がないことがわかりましたが、Firefox でテストすると、ログインは正常ですが、ログアウトできません。IE と Firefox の Cookie レコードの違いを確認してください。

をテストした結果、setcookie() の 4 番目のパラメーター (正当なパス パラメーター) が指定されていないことが判明したため、ログイン時と終了時に設定された cookie のパスが異なっていました (Firefox はより厳密で、各変数が再確立されました)

IE では終了時に問題がないことがわかりましたが、Firefox でテストすると、ログインは正常で終了できません IEとFirefoxのCookieレコードの違いを確認してテストしてわかった

setcookie()の4番目のパラメータ(正当なパスパラメータ)が指定されていないことが判明したので、ログイン時と終了時に設定される Cookie のパスが異なっていました (Firefox は厳密であり、さまざまな変数の再構築が必要でした)

例:

$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 ビデオ」チュートリアル###"###

以上がPHPでCookieをクリアする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。