我尝试编写一个设置cookie的代码并检查{cookie}是否isset
按下“cookie create”,否则显示“cookie not create”但是它无法在localhost中正常工作。
<html>
<head>
<?php setcookie("a","abcdef",time()+3600); ?>
</head>
<body>
<?php
phpinfo();
if(isset($_COOKIE['a']))
{
echo $_COOKIE["a"];
}
else
{
echo "no cookie";
}
?>
</body>
</html>
答案 0 :(得分:0)
正如Stack Overflow上的另一个问题PHP - setcookie(); not working所回答的那样,您的PHP应用程序在尝试设置cookie之前会发出HTML输出:
<html> <------- oh no!
...
<?php setcookie("a","abcdef",time()+3600); ?>
此时,PHP已经完成发送 HTTP标头(不要与HTML <head>
标签混淆)并且无法设置cookie(必须将其作为一部分完成) HTTP标头)。
首先设置cookie,你应该没问题:
<?php setcookie("a","abcdef",time()+3600); ?>
<html>
...
确保在任何其他(非HTTP标头)输出之前调用setcookie()
。