This article provides a detailed analysis of phpsetcookie (name, value, expires, path, domain, secure) parameters. For more information, see setcookie () define a cookie sent together with other HTTP headers. Like other headers, cookies must be sent before any other output of the script (this is a protocol restriction ). This requires that the call of this function be placed before any output, includingAndLabel and any space. If any output exists before setcookie () is called, this function fails and returns FALSE. If the setcookie () function runs successfully, TRUE is returned. This does not indicate whether the user has accepted the cookie.
Function definition:
Bool setcookie (string name [, string value [, int expire [, string path [, string domain [, bool secure])
Setcookie () parameters
Parameters |
Description |
Example |
Name |
Cookie name |
Use$ _ COOKIE ['cookiename']Call the cookie named cookiename. |
Value |
Cookie value, which is stored on the client. do not store sensitive data. |
Assume thatNameIs 'cookiename', you can use$ _ COOKIE ['cookiename']Obtain the value. |
Expire |
The time when the Cookie expires. This is a Unix timestamp, that is, the number of seconds from the Unix epoch. In other words, it is usually usedTime ()The function plus the number of seconds to set the cookie expiration time. Or useMktime (). |
Time () + 60*60*24*30The cookie is set to expire after 30 days. If not set, the cookie will expire after the session ends (usually closed by the browser. |
Path |
Valid Cookie path on the server. |
If this parameter is set'/'Then, the cookie isDomainValid, If'/Foo /'The cookie isDomainUnder/Foo/Directory and its subdirectories are valid, such/Foo/bar/. The default value is the current directory of the cookie. |
Domain |
The valid domain name of the cookie. |
This parameter should be set'.Example.com'. Although.Not required, but it will be compatible with more browsers. If this parameter is setWww.example.comInWwwValid in the subdomain. For details, see tail matching in the Cookie specification. |
Secure |
Indicates whether the cookie is transmitted only through a secure HTTPS connection. When setTRUEThe cookie is only set in secure connections. The default value isFALSE. |
0Or1 |
Example 1. setcookie () sending example
The code is as follows:
$ Value = 'something from somewhere ';
Setcookie ("TestCookie", $ value );
Setcookie ("TestCookie", $ value, time () + 3600);/* expire in 1 hour */
Setcookie ("TestCookie", $ value, time () + 3600 ,"/~ Rasmus/",". utoronto. ca ", 1 );
Note that the portion of the value in the cookie will be automatically encoded with urlencode upon sending and automatically decoded upon receipt, and the value will be assigned to the cookie variable with the same name. If you do not want to do this and use PHP 5, you can use setrawcookie () instead. In the following simple example, we can get the cookie value just set:
The code is as follows:
// Output a separate cookie
Echo $ _ COOKIE ["TestCookie"];
Echo $ HTTP_COOKIE_VARS ["TestCookie"];
// Another debugging method is to output all cookies.
Print_r ($ _ COOKIE );
?>
To delete a cookie, you must ensure that its expiration time is in the past to trigger the deletion mechanism of the browser. The following example shows how to delete the cookie you just set:
Example 2. setcookie () deletion example
The code is as follows:
// Set the expiration time to one hour ago
Setcookie ("TestCookie", "", time ()-3600 );
Setcookie ("TestCookie", "", time ()-3600 ,"/~ Rasmus/",". utoronto. ca ", 1 );
You can also set an array cookie by using array symbols in the cookie name. you can set multiple cookies as array units. when the script extracts cookies, all values are placed in an array:
Example 3. example of using arrays in setcookie ()
The code is as follows:
// Set cookie
Setcookie ("cookie [three]", "cookiethree ");
Setcookie ("cookie [two]", "cookietwo ");
Setcookie ("cookie [one]", "cookieone ");
// Refresh the page and display it
If (isset ($ _ COOKIE ['cookies']) {
Foreach ($ _ COOKIE ['cooker'] as $ name => $ value ){
Echo "$ name: $ value
\ N ";
}
}
?>
The above example will output:
Three: cookiethree
Two: cookietwo
One: cookieone
Summary: It is not difficult to use cookies. the focus of this article is to master path settings and domain settings.