Home > Article > Backend Development > What to do if PHP fails to set cookies
Use setcookie to set cookies on a certain page, for example:
setcookie("id",$id, time()+36002430);
But after returning to the homepage, I found that it did not take effect. Use javascript:alert(document.cookie) It is empty, and $_COOKIE in PHP also has no data.
Go to the PHP official website to check the instructions for setcookie. The example on the official website is also like this, but after carefully looking at the parameter description, I discovered the problem.
Related recommendations: "php Getting Started Tutorial"
The fourth parameter of setcookie is path:
The path on the server in which the cookie will be available on. If set to ‘/’, the cookie will be available within the entire domain. If set to ‘/foo/’, the cookie will only be available within the /foo/ directory and all sub-directories such as /foo/bar/ of domain. The default value is the current directory that the cookie is being set in.
That is to say, if the fourth parameter If it is empty, it will only take effect in the current directory by default. Under normal circumstances, there is no problem.
But my site is set up with rewrite and index.php is hidden, so the set cookie is only valid on this page.
The solution is to add the fourth parameter:
setcookie("id",$id, time()+36002430 ,'/');
The above is the detailed content of What to do if PHP fails to set cookies. For more information, please follow other related articles on the PHP Chinese website!