Home  >  Article  >  Backend Development  >  How to clear cookies in php

How to clear cookies in php

藏色散人
藏色散人Original
2021-07-05 10:59:354658browse

The way PHP clears cookies is to set the validity period of this cookie to before the current time. The implementation code is such as "setcookie('test',time() - 3600);".

How to clear cookies in php

The operating environment of this article: Windows 7 system, PHP version 7.1, DELL G3 computer

How to clear cookies with PHP? PHP cannot delete it COOKIE? Set the COOKIE validity period

PHP transparently supports HTTP cookies. Cookies are a mechanism that stores data on the remote browser side and uses it to track and identify users. Cookies can be set using the setcookie() or setrawcookie() functions. Cookies are part of the HTTP header, so the setcookie() function must be called before other information is output to the browser, which is similar to the restrictions on the header() function.

setcookie();

The way to delete a cookie is to set the validity period of this cookie to before the current time.

setcookie('test', 'true', time() + 300); // 创建 cookie
//setcookie('test',time() - 3600 );  // 清除建立的 cookie
//setcookie('test'); //只是将 $_COOKIE['test'] 的值清空
如果直接setcookie('test', '');
echo '
';
print_r($_COOKIE); //attay();

You will find that the $_COOKIE array is empty, not just $_COOKIE['test'] is empty , so winsock captured the packet and observed the returned

http header. It turned out to be: 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);

It is found that there is no problem under IE when logging out, but when tested in Firefox, the login is normal and cannot log out. Check the difference in cookie records in IE and Firefox. After testing

, it was discovered that the fourth parameter (legal path parameter) of setcookie() was not specified, so the cookie path set when logging in and exiting was different (Firefox was stricter, resulting in the re-establishment of each Variable)

I found that there is no problem under IE when exiting, but when tested in Firefox, the login is normal and cannot exit. Check the difference in cookie records in IE and Firefox, and found out after testing

It turned out that the fourth parameter (legal path parameter) of setcookie() was not specified, so the paths of cookies set when logging in and exiting were different (Firefox was strict, which led to the reconstruction of various variables)

Example:

$value = 'something';
setcookie('TestCookie', $value, time() + 3600);
setcookie('mytest', $value, time() + 3600, "~rasmus", ".maoge.com", 1);
if (isset($_COOKIE['TestCookie']))
{
echo 'TestCookie :' . $_COOKIE['TestCookie'];
}

Recommended learning: "PHP Video Tutorial"

The above is the detailed content of How to clear cookies in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn