Home  >  Article  >  Backend Development  >  How to use setcookie() in php to set cookies to never expire

How to use setcookie() in php to set cookies to never expire

青灯夜游
青灯夜游Original
2021-09-30 16:39:453415browse

In PHP, you only need to set the value of the third parameter of the setcookie() function to always be greater than the current system time. The syntax is "setcookie("cookie_name", "cookie_value", time() 99*365* 24*3600);".

How to use setcookie() in php to set cookies to never expire

The operating environment of this tutorial: windows7 system, PHP7.1 version, DELL G3 computer

When setting cookies in PHP, if it is not specified Validity period, the life cycle is the period of the browser, which can also be called not saving, and it will disappear after the browser is closed and opened again.

If you set a longer validity period for the cookie (always greater than the current system time), you can make the cookie never expire. The third parameter $expire of the setcookie() function is used to set the cookie validity period. For example, the following code:

setcookie("cookie_name", "cookie_value", time() + 99 * 365 * 24 * 3600);

Description:

setcookie() The syntax format of the function is as follows:

setcookie(string $name [, string $value = "" [, int $expire = 0 [, string $path = "" [, string $domain = "" [, bool $secure = false [, bool $httponly = false ]]]]]])

The parameter description is as follows:

  • $name: Set the name of the cookie;
  • $value: Optional parameter, used to set the value of the cookie. The value of $value can be obtained in the form of $_COOKIE['$name'];
  • $expire: optional parameter, used to set the expiration time of the cookie. This time is in the form of a Unix timestamp. If set to zero or omitted, the cookie will expire at the end of the session (that is, when the browser is closed);
  • $path: optional parameter, used to set the valid server path of the cookie. When set to '/', the cookie is valid for the entire domain name $domain. If set to '/foo/', the cookie is only valid for the /foo/ directory and its subdirectories in $domain (such as /foo/bar/). The default value is the directory when setting the cookie;
  • $domain: optional parameter, used to set the effective domain name/subdomain name of the cookie. Setting it to a subdomain (for example, 'c.biancheng.net') will make the cookie valid for this subdomain and its third-level domain (for example, php.c.biancheng.net). To make the cookie valid for the entire domain name (including all its subdomains), just set it to the domain name (for example, 'biancheng.net');
  • $secure: optional parameter, used to set this cookie Whether to only pass it to the client over a secure HTTPS connection. When set to TRUE, the cookie will only be set when a secure connection exists;
  • $httponly: Optional parameter, when set to TRUE, the cookie can only be accessed through the HTTP protocol, which means that the cookie cannot be accessed through JavaScript such as scripting language access. Setting this parameter can effectively reduce the risk of XSS attacks.

time()Returns the current time in seconds since the Unix epoch (January 1 1970 00:00:00 GMT).

Recommended learning: "PHP Video Tutorial"

The above is the detailed content of How to use setcookie() in php to set cookies to never expire. 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