ホームページ  >  記事  >  バックエンド開発  >  PHP Cookie のクリアと ff_PHP チュートリアルでは Cookie を削除できない

PHP Cookie のクリアと ff_PHP チュートリアルでは Cookie を削除できない

WBOY
WBOYオリジナル
2016-07-13 10:48:391156ブラウズ

PHP で Cookie を設定および削除するには setcookie を使用します。有効期限が切れると自動的に削除されますが、ff では有効期限が切れない Cookie に遭遇する可能性があります。

まず、PHPマニュアルでCookieを削除する手順を見てみましょう

bool setcookie (文字列名 [, 文字列値 [, int期限切れ [, 文字列パス [, 文字列ドメイン [, bool secure]]]]] )

Cookie を削除するには、ブラウザの削除メカニズムをトリガーするために、Cookie の有効期限が過去であることを確認する必要があります。
次の例は、設定したばかりの Cookie を削除する方法を示しています。 例 2. setcookie() delete

コードは次のとおりです コードをコピー

//有効期限を 1 時間前に設定します

setcookie("TestCookie", "", time() - 3600);
setcookie("TestCookie", "", time() - 3600, "/~rasmus/", ".utoronto.ca", 1);

ユーザーのログイン情報を保存してから使用してください

コードは次のとおりです コードをコピー

setcookie("ユーザー名", "", time()-3600);

問題なく終了し、IE でテストします。 Web サイトを構築するのですから、できるだけ多くのブラウザと互換性を持たせる必要があります (笑)。そこで Firefox でテストしたところ、ログイン時はすべて正常に動作しました。しかし、起動すると問題が発生しました。ログアウトする方法はなく、ユーザーは常にログインしたままになります。そこで IE と Firefox の Cookie レコードの違いを確認してみたのですが、試してみてふと気づきました。

setcookie() の 4 番目のパラメーター (正当なパス パラメーター) が指定されていない場合、デフォルトで現在のディレクトリが正当なパスとして使用されることがわかり、テストしたパスは http://127.0.0.1/ です。 php/rss2fla/data /log .php なので、ログイン時とログアウト時に設定される Cookie のパスが異なります。

IE は Firefox よりも使いやすいです (笑)、パスを指定すると、現在の IP の下で同じ名前の Cookie 変数が上書きされます。ただし、FireFox はより厳密で、新しい変数が作成されます。

いくつかの例を見てみましょう:

シンプル:

コードは次のとおりですコードをコピー有効期限あり:
SetCookie("MyCookie", "MyCookie の値");

コードは次のとおりですSetCookie("WithExpire", "1 時間で期限切れになります", time()+3600);//3600 秒 = 1 時間 すべてが利用可能です:
コードをコピー

コードは次のとおりですSetCookie("FullCookie", "完全な Cookie 値", time()+3600, "/forum", ".bKjia.c0m",

最後のものはすべてのブラウザと互換性があります。

まとめると、PHP で Cookie を操作する場合は次の方法を使用するのが最善です:

コードをコピー
;

コードは次のとおりです コードをコピー
if(isset($_COOKIE["sid"]) && !empty($_COOKIE["sid"])){
// これにより、Cookie が存在し、有効期間内であることが保証されます
……
}

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632780.html技術記事 PHP で Cookie を設定および削除するには setcookie を使用します。Cookie は有効期限が切れると自動的に削除されます。ただし、ff では有効期限が切れない Cookie が発生する場合があります。 まずはphpマニュアルを見てみましょう...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。