我试图编写一个设置cookie的代码,并检查这个cookie是否显示按摩"cookie create"isset
否则显示"cookie not create",但它不起作用 本地主机中的这段代码正常工作。
<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>
正如 Stack Overflow 上的另一个问题所回答的那样,PHP - setcookie((; 不工作,您的 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()
。