【问题标题】:setcookie function and phpinfo in php not working but in localhost workphp中的setcookie函数和phpinfo不起作用但在localhost中起作用
【发布时间】:2018-05-31 02:58:21
【问题描述】:

我试图编写一个设置 cookie 的代码,并检查 isset 这个 cookie 是否显示按摩“cookie 创建”,否则显示“cookie 未创建”,但它无法正常工作。本地主机中的此代码工作正常。

<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>

【问题讨论】:

标签: php cookies setcookie


【解决方案1】:

正如 Stack Overflow 上的另一个问题 PHP - setcookie(); not working 所回答的那样,您的 PHP 应用程序在尝试设置 cookie 之前会发出 HTML 输出:

<html>  <------- oh no!
...
<?php setcookie("a","abcdef",time()+3600); ?>

此时,PHP 已经完成发送 HTTP 标头(不要与 HTML &lt;head&gt; 标记混淆)并且无法设置 cookie(必须作为HTTP 标头)。

先设置cookie就可以了:

<?php setcookie("a","abcdef",time()+3600); ?>
<html>
...

确保在任何其他(非 HTTP 标头)输出之前调用 setcookie()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-25
    • 1970-01-01
    • 1970-01-01
    • 2014-01-12
    • 2023-03-27
    • 2014-09-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多