我是php的新手(最近才开始学习),我面临着一个问题
这是我得到的错误/警告:
Warning: Cannot modify header information - headers already sent by (output started at /Applications/XAMPP/xamppfiles/htdocs/cookies.php:5) in /Applications/XAMPP/xamppfiles/htdocs/cookies.php on line 5
我在文件中写的所有内容都是:
<body>
<?php
setcookie('test', 45, time()+(60*60*24*7));
?>
</body>
**我在Mac上使用XAMP
知道为什么会这样,我该如何解决/处理它?
感谢,
答案 0 :(得分:0)
<body>
在setcookie之前。 Setcookie需要先来
<?php
setcookie('test', 45, time()+(60*60*24*7));
?>
<body>
</body>
setcookie()定义要与其他HTTP标头一起发送的Cookie。与其他标头一样,Cookie必须先发送 脚本输出(这是协议限制)。这个 要求您在输出之前调用此函数, 包括和标签以及任何空格。
答案 1 :(得分:0)
在没有任何空格的情况下使用它。你需要在代码的最顶层声明它们。同样的事情发生在header("location:xyz.php")
。所以请记住这一点,以备将来使用。
<?php
setcookie('test', 45, time()+(60*60*24*7));
?>
<body>
//Your code here
</body>
答案 2 :(得分:0)
标题必须在任何输出之前发送。并且cookie将以标题发送。