If the Cookie is set successfully, the client will have a Cookie file to save the user information set by the Web server for a period of time. Assuming that we use a Windows system on the client to browse the script in the server, the cookie file will be stored in the "C:\Documents and Settings\Username\Cookies" folder. Cookies record information in the form of ordinary text files. Although you can open and browse them directly using a text editor, it is meaningless to directly read the information in the Cookie file. Instead, when the customer visits the website again, the browser will automatically send all the cookie information corresponding to the website to the server. Starting from PHP5, any Cookie information sent from the client will be automatically saved in the $_COOKIE global array, so the corresponding Cookie information can be read from this array in each PHP script. . The $_COOKIE global array stores the contents of all Cookie data passed through HTTP, with the identification name of the Cookie as the index value and the content value as the element.
In the cookie setting script, reading its information for the first time will not take effect. You must refresh or go to the next page to see the cookie value, because the cookie must be set to the client first, and then read again. It can only be sent when accessed, and then it can be obtained. So to test whether a cookie has been set successfully, you can access its value through another page before it expires.
In PHP, you can directly read the cookie value on the browser side through the super global variablearray $_COOKIE[].
The example code is as follows:
<?php date_default_timezone_set('PRC'); //设置时区 if(!isset($_COOKIE['time'])){ //检测 Cookie 文件是否存在 setcookie('time',date('y-m-d H:i:s')); //设置一个 Cookie 变量 echo "第一次访问"; }else{ setcookie('time',date('y-m-d H:i:s'),time()+60); //设置保存 Cookie 失效的时间的变量 echo "上次访问的时间为:".$_COOKIE['time']; //输出上次访问网站的时间 echo '<br>'; } echo "本次访问的时间为:".date('y-m-d H:i:s'); //输出当前的访问时间 ?>
In the above code, first use isset()function to detect whether the Cookie file exists. If it does not exist, use the setcookie() function to create a Cookie and output the corresponding string ; if the Cookie file exists, use the setcookie() function to set the file expiration time and output the user's last visit The time of the website, and finally the current time of the current location website is output on the page.
When the instance is run for the first time, since no Cookie file is detected, the running result graph is as follows:
If the user sets the expiration time of the cookie (above The instance is 60 seconds) before refreshing or accessing the web page again, the running results are as follows:
Note: If the cookie expiration time is not set, it will automatically close the browser. Delete cookie data. If the expiration time is set for the cookie, the browser will remember the cookie data. Even if the computer is restarted, as long as it has not expired, the accessed data information will be obtained when you visit the website again.
The above is the detailed content of How to read cookies in php. For more information, please follow other related articles on the PHP Chinese website!