首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >setcookie问题

setcookie问题
EN

Stack Overflow用户
提问于 2010-03-15 10:51:32
回答 5查看 471关注 0票数 2

有一个想法,我还是不明白:(当我尝试设置cookie(它在login.php的第28行),浏览器返回给我一个错误!

无法修改标题信息--第28行中的C:\xampp2\htdocs\video\index.php:9中已由C:\xampp2\htdocs\video\login.php发送的头(输出从C:\xampp2\htdocs\video\login.php开始)

但是在索引php的第9行,我没有任何标题!有个标签!

我不明白!有人能告诉我为什么会有这样的错误吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-03-15 10:57:11

Cookie作为标头发送。来自用于赛特曲奇的PHP

setcookie()定义了要与其他headers一起发送的cookie。与其他标头一样,必须在之前发送cookies,然后才能从脚本中获得任何输出(这是协议限制)。这要求在输出之前调用该函数,包括和标记以及任何空格。

此外,如果您的页面以UTF-8格式保存,BOM ()将阻止您设置任何标头,因为它可以算作输出。见http://bugs.php.net/bug.php?id=22108。为了解决这个问题,您需要保存没有字节顺序标记的文件。

另见:字节顺序mark#Unwanted BOMs -维基百科

票数 3
EN

Stack Overflow用户

发布于 2010-03-15 10:54:52

在发送标题之前,您不能在网站上打印任何内容。

票数 1
EN

Stack Overflow用户

发布于 2011-08-29 04:27:53

在任何html标记(a.k.a输出)之前先设置cookie,甚至在声明!DOCTYPE html或head、头信息等之前。例如,您的文件可能如下所示:

代码语言:javascript
复制
<?php setcookie("oreo", $value, time()+(60*60*24*30));?>
<?php setcookie("vanilla_wafer", $wafer, time()+(60*60*24*30));?>
<!DOCTYPE html>
<head>
    <title>Cookies and Milk</title>
</head>
<body>
<p>yo</p>
</body>
</html>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2446506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档