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

How to read cookies in php

伊谢尔伦
伊谢尔伦Original
2017-04-25 13:39:036118browse

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(&#39;PRC&#39;);       //设置时区
 if(!isset($_COOKIE[&#39;time&#39;])){                //检测 Cookie 文件是否存在
    setcookie(&#39;time&#39;,date(&#39;y-m-d H:i:s&#39;));    //设置一个 Cookie 变量
    echo "第一次访问";
 }else{
    setcookie(&#39;time&#39;,date(&#39;y-m-d H:i:s&#39;),time()+60);   //设置保存  Cookie 失效的时间的变量
    echo "上次访问的时间为:".$_COOKIE[&#39;time&#39;];        //输出上次访问网站的时间
    echo &#39;<br>&#39;;
 }
    echo "本次访问的时间为:".date(&#39;y-m-d H:i:s&#39;);     //输出当前的访问时间
?>

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:

How to read cookies in php

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:

How to read cookies in php

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!

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