Rem*_*miX 23 php cookies unset
我已经尝试在php手册和互联网上搜索如何删除cookie,我尝试过的方式完全相同:
setcookie("name", '', 1);
Run Code Online (Sandbox Code Playgroud)
要么
setcookie("name", '', time()-3600);
Run Code Online (Sandbox Code Playgroud)
但是当我在Firefox中检查cookie对话框中的cookie时,它仍然具有相同的值.我使用以下行设置此cookie:
setcookie("name", $value, time() + 259200, $path);
Run Code Online (Sandbox Code Playgroud)
我在stackoverflow上发现了这个问题:但是没有一个答案解决了这个问题.我也试过把所有的参数都放进去,就像作者说的那样,但它没有效果.
有谁看到这个问题?
Rem*_*miX 10
好吧,我真的不明白,但它现在有效.神奇的代码是:
setcookie("name", '', 1, $path);
Run Code Online (Sandbox Code Playgroud)
我没有尝试过那个??!无论如何,它现在有效.感谢您的帮助,人们!
我很惊讶没有人提到它(或者我错过了它),但是域名也很重要!如果您位于sub-domain.example.com上,并且cookie来自.example.com,则需要显式设置domain参数,否则它将假定当前域,并且将无法使用。
setcookie('cookiename', FALSE, -1, '/', '.example.com');
Run Code Online (Sandbox Code Playgroud)
子域的值不会清除父域中的Cookie。
如果您删除特定路径的 cookie 并且您的路径参数以尾部斜杠“/”结尾,那么它将在 Firefox 和 IE 中工作,但在 Chrome 和 Opera 中不起作用。如果没有尾部斜杠,那么它只能在 Chrome 和 Opera 中工作。
所以你应该同时使用两者:
setcookie('cookiename', '', time() - 60*60*24, $chatPath); // WebKit
setcookie('cookiename', '', time() - 60*60*24, $chatPath . '/'); // Gecko, IE
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
33875 次 |
| 最近记录: |