1

「ブラウザ」セッションCookieは、ブラウザを閉じると削除されます。JavaScriptで「ブラウザ」セッションCookieを設定する場合、有効期限は含まれません。

document.cookie= "MyCookieName = MyValue; path=/";

PHPの「ブラウザ」セッションCookieを削除したいのですが。私はこれを試しました:

setcookie('MyCookieName','', time() - 3600,'/'); 

残念ながら、Cookieは削除されません。

4

1 に答える 1

0

まず、Cookie の作成方法 (JS または PHP) に違いはないと思います。

ブラウザに強制的に Cookie ファイルを削除させることはできません。ただし、Cookie の内容を削除して期限切れにすることはできます。これは、まさに上記のコードで行っていることです。私はおそらくそれを少し微調整します:

setcookie('MyCookieName', '', 1, '/'); // no need to calculate one hour ago.

Cookie に何らかの値があると仮定すると、コードが有効になったかどうかを確認できます。

if ($_COOKIE["MyCookieName"] == '') {
  echo 'cookie was deleted';
}

ただし、ユーザーがブラウザを閉じるまで、ファイルは削除されません。

上記が機能しないかどうかを確認するもう 1 つのことは、Cookie のパスです (の 4 番目のパラメーターですsetcookie()。たとえば、Cookie のみが設定されている可能性があり/blogます。Safari で Cookie を調べることで、これを推測できるはずです。 webkit 開発者ツールまたは類似のもの。

于 2013-02-20T22:01:44.387 に答える