php中为什么setcookie() 函数必须位于 <html> 标签之前

 我来答
shanyucha
推荐于2016-07-29 · TA获得超过591个赞
知道小有建树答主
回答量:146
采纳率:0%
帮助的人:166万
展开全部
可以参考一下php手册的说明:

bool setcookie ( string name [, string value [, int expire [, string path [, string domain [, bool secure]]]]] )

setcookie() 定义一个和其余的 HTTP 标头一起发送的 cookie。和其它标头一样,cookie 必须在脚本的任何其它输出之前发送(这是协议限制)。这需要将本函数的调用放到任何输出之前,包括 <html> 和 <head> 标签以及任何空格。如果在调用 setcookie() 之前有任何输出,本函数将失败并返回 FALSE。如果 setcookie() 函数成功运行,将返回 TRUE。这并不说明用户是否接受了 cookie。
这就是为什么setcookie必须在<html>标签签的原因了
xeonol
推荐于2017-09-05 · TA获得超过870个赞
知道小有建树答主
回答量:528
采纳率:0%
帮助的人:701万
展开全部
setcookie会发送网页头信息给客户端的浏览器,这样浏览器根据这些信息设置本地cookie,而<html>标签是网页正文,所以必须在头信息发送完之后才能发送,因此<html>必须在setcookie之后。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
story_cz_cc
2010-10-29 · 超过25用户采纳过TA的回答
知道答主
回答量:129
采纳率:0%
帮助的人:74.4万
展开全部
好像是要在页面显示内容之前完成setcookie
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式