当前位置:Gxlcms > PHP教程 > cookie为什么设置失败?

cookie为什么设置失败?

时间:2021-07-01 10:21:17 帮助过:12人阅读

我有这样一段程序:
if(setcookie('me','mycookie'))
{
echo "cookie已设置";
}
echo "已登录";

运行结果是"已登录”是有的,但"cookie已设置“没有显示。这说明cookie设置失败了。

请问我这一段程序为什么会设置失败呢?有语法错误吗?失败的原因可能是什么?(我的浏览器支持cookie)


回复讨论(解决方案)

如果setcookies前有输出任何东西,将返回false。

我这边测试 完好啊

如果setcookies前有输出任何东西,将返回false。
哦,你是说:设置cookie的程序,必须放在任何输出语句的前面?真的是这样?

setcookie() 定义一个和其余的 HTTP 标头一起发送的 cookie。和其它标头一样,cookie 必须在脚本的任何其它输出之前发送(这是协议限制)。这需要将本函数的调用放到任何输出之前,包括 和 标签以及任何空格。如果在调用 setcookie() 之前有任何输出,本函数将失败并返回 FALSE。如果 setcookie() 函数成功运行,将返回 TRUE。

可我刚才把它放到程序最开头,也没有用,是不是我的这条语句的问题,就是在最开头语句是这样的:



就是滚动到最下端,跟这个有关吗?

setcookie() 定义一个和其余的 HTTP 标头一起发送的 cookie。和其它标头一样,cookie 必须在脚本的任何其它输出之前发送(这是协议限制)。这需要将本函数的调用放到任何输出之前,包括 和 标签以及任何空格。如果在调用 setcookie() 之前有任何输出,本函数将失败并返回 FALSE。如果 setcookie() 函数成功运行,将返回 TRUE。
啊!原来要放在的前面,成功了!感谢!如果不是你们告诉,自己找原因,不知找到什么时候,书上并没有讲到这一点。(也许在哪个角落会讲,但是初学者不可能仔细阅读全书)。谢谢!


setcookie() 定义一个和其余的 HTTP 标头一起发送的 cookie。和其它标头一样,cookie 必须在脚本的任何其它输出之前发送(这是协议限制)。这需要将本函数的调用放到任何输出之前,包括 和 标签以及任何空格。如果在调用 setcookie() 之前有任何输出,本函数将失败并返回 FALSE。如果 setcookie() 函数成功运行,将返回 TRUE。
啊!原来要放在的前面,成功了!感谢!如果不是你们告诉,自己找原因,不知找到什么时候,书上并没有讲到这一点。(也许在哪个角落会讲,但是初学者不可能仔细阅读全书)。谢谢!
手册就有说明这个了。
手册比任何书都重要

书上没有讲到是作者的混蛋
但手册上是写的清清楚楚的
我那段文字就是在手册上复制下来的

书上没有讲到是作者的混蛋
但手册上是写的清清楚楚的
我那段文字就是在手册上复制下来的
请问你说的手册是哪个手册?我想下载。



setcookie() 定义一个和其余的 HTTP 标头一起发送的 cookie。和其它标头一样,cookie 必须在脚本的任何其它输出之前发送(这是协议限制)。这需要将本函数的调用放到任何输出之前,包括 和 标签以及任何空格。如果在调用 setcookie() 之前有任何输出,本函数将失败并返回 FALSE。如果 setcookie() 函数成功运行,将返回 TRUE。
啊!原来要放在的前面,成功了!感谢!如果不是你们告诉,自己找原因,不知找到什么时候,书上并没有讲到这一点。(也许在哪个角落会讲,但是初学者不可能仔细阅读全书)。谢谢!
手册就有说明这个了。
手册比任何书都重要
你说的是哪个手册?

人气教程排行