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

问题暂时关闭
推荐于2016-07-29 05:04:20 最佳答案
可以参考一下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>标签签的原因了

其他回答

因此<标签是网页正文,而<setcookie会发送网页头信息给客户端的浏览器;html>必须在setcookie之后,这样浏览器根据这些信息设置本地cookie;html>,所以必须在头信息发送完之后才能发送
本回答被提问者采纳
xeonol | 推荐于2016-09-25 10:02:11
评论
好像是要在页面显示内容之前完成setcookie
story_cz_cc | 发布于2010-10-29 09:13
评论

为您推荐: