Home > Article > Backend Development > PHP Cookie processing function, phpcookie function_PHP tutorial
(o゜▽゜)o☆[BINGO!]
ok, let’s first take a look at what cookies are?
A cookie is a small file left by the server on the client to identify the user or store some data (note that the session is stored on the server side, which is one of the differences between the two). When we usually log in to a portal, there will be an option to "save login" or "automatically log in next time". When we check it, the server will create a cookie file in our browser to save our information. Whenever a computer requests a page through the browser, it sends a cookie at the same time. With PHP, cookie values can be created and retrieved. Cookies play a very important role in the web. Cookies were created as early as the Netscape browser. Cookies are often used in user authentication systems.
1. Create cookie
The function setcookie() can generate cookies in PHP. Since cookies are the content of the HTTP header part, must call setcookie() before outputting any data. This restriction is similar to header(), defined:
1 bool setcookie( string name[,string value][,int expire][,string path][,string domain][,bool secure][,bool httponly])
So many parameters! Σ(⊙▽⊙"a Don’t worry, let’s take a look at the functions of each parameter:
name : Required, indicating the name of the cookie.
value: Optional, indicating the cookie value, stored in the client. When empty, it means revoking the cookie information in the client (this way the cookie can be deleted).
expire: Optional, indicating the validity deadline of the cookie, that is, the expiration time. If it is not specified or specified as 0, it usually expires when the browser is closed.
path: Optional, valid cookie path.
domain: Optional, cookie valid domain name.
secure: Indicates that it is only valid when HTTPS secure transmission.
Example (create a cookie with name test and value China):
<span>1</span> <?<span>php </span><span>2</span> <span>setcookie</span>("test",China"<span>); </span><span>3</span> ?>
The value given by setcookie() can only be a number or a string , and cannot be other complex structures.
2. Get cookies
After creating the cookie, you can use the predefined variable $_COOKIE to obtain the cookie. However, cookies can only be obtained on other pages, because in php, the cookie set by will not take effect on this page unless the page is refreshed .
Example:
<span>1</span> <?<span>php </span><span>2</span> <span>setcookie</span>("test","China"<span>); </span><span>3</span> <span>echo</span> "cookie is ".<span>$_COOKIE</span>["test"<span>];</span> 4 ?>
The reason why the page needs to be refreshed here is because the cookie value will not be stored in the $_COOKIE variable immediately after calling setcookie(), but will be sent to the server with the http request, and then the cookie value will appear. in $_COOKIE.
3. Cookie validity period
Cookies have a life cycle, which is how long the cookie is valid. A third parameter can be set to set the validity time.
Examples (several ways to set cookie validity time):
<span>1</span> <span>setcookie</span>("cookie_one","A",<span>time</span>()+60*60); <span>//</span><span>cookie在一小时后失效</span> <span>2</span> <span>setcookie</span>("cookie_two","B",<span>time</span>()+60*60*24); <span>//</span><span>cookie在一天后失效</span> <span>3</span> <span>setcookie</span>("cookie_three","C",<span>mktime</span>(23,53,19,10,09,2020)); <span>//</span><span>cookie在2020年10月9日23时53分19秒失效</span> <span>4</span> <span>setcookie</span>("cookie_four","D"); <span>//</span><span>关闭浏览器后cookie失效 </span>
4. Valid path of cookie
The path in the cookie is used to control the path in which the set cookie is valid . The default is '/', which is valid in all paths , that is, it is valid in the entire server domain name. When set After setting other paths, it will only be valid under the set path and sub-path, for example:
<span>1</span> <span>setcookie</span>('test', <span>time</span>(), 0, '/path');
The above settings will make test valid under /path and the subpath /path/abc, but the cookie value of test cannot be read in the root directory.
In general, all paths are used. Only in rare cases when there are special needs, the path will be set. In this case, the cookie value will only be passed in the specified path, which can save data transmission. Enhance security and improve performance.
5. Delete cookies
Deleting cookies is relatively simple and is also achieved through setcookie() (do not use unset()!!!) The following code is a simple example:
<span>1</span> <span>setcookie</span>("test","");
Delete cookies by setting the second parameter to empty . If you provide specific values for the cookie when you set it, you still need to provide those parameters when you delete the cookie so that PHP can delete the cookie correctly.