setcookie之前 输入一段东西 我在网上看cookie相关的东西
有到很多都这么说
tcookie() 定义一个和其余的 HTTP 标头一起发送的 cookie。和其它标头一样,cookie 必须在脚本的任何其它输出之前发送(这是协议限制)。这需要将本函数的调用放到任何输出之前,包括 和
标签以及任何空格。如果在调用 setcookie() 之前有任何输出,本函数将失败并返回 FALSE。如果 setcookie() 函数成功运行,将返回 TRUE。这并不说明用户是否接受了 cookie。
就是说setcookie之前不能有输出 不然设置cookie就不成功
但是我自己试的时候 总是成功
我哪里出错了.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><br />
<?php<br />
var_dump(setcookie("axvvvva","xxxx"));<br />
?><br />
<html xmlns="http://www.w3.org/1999/xhtml"><br />
<head><br />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><br />
<title></title><br />
</head><br />
<br />
<body><br />
<br />
</body><br />
</html> ------最佳解决方案-------------------- 这表示你的输出缓冲区是打开的
php5.3 默认 output_buffering = 4096
只有
output_buffering = 0
才是关闭的,也才会出现那些错误
php5.2及以下好像默认是关闭的,不记得了
------其他解决方案-------------------- 因为你的php有输出缓冲区
------其他解决方案-------------------- 有时间协议限制就是个屁,session 也是前面不让输出。很多时间图省事,直接@session_start(); 还不是这样用了~
------其他解决方案-------------------- lz给的好像不是php代码,,代码贴出来看看。。。
按照http协议的话,如果在输出协议头之前输出了实体(entity),http协议包就被破坏了,所以在输出内容后输出的头就不会起作用了。(根据协议猜的,不知道具体是不是)
------其他解决方案--------------------
引用:
lz给的好像不是php代码,,代码贴出来看看。。。
按照http协议的话,如果在输出协议头之前输出了实体(entity),http协议包就被破坏了,所以在输出内容后输出的头就不会起作用了。(根据协议猜的,不知道具体是不是)
在下面有一段php的东东
嗯 是缓冲区的问题 学习了...
Stellungnahme: Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn