如何在文档中间通过PHP设置cookies?
题
我怎么可以在文档的中间设置cookie,而不会导致“头部已经发送”的错误?我想要做的是使一个注销脚本(设置的工作日志中的饼干......如此奇怪。是不是因为它是封闭在一个if语句?)但我已经回应了页面标题和一些其他的东西我做在页面的顶部,在此之前注销发生。
谢谢!
解决方案
的最简单的方法是使用输出缓冲以从发送数据停止PHP到客户端,直到你准备
<?php
ob_start();
// your code
ob_end_flush();
?>
输出缓冲存储所有输出的数据,直到缓冲器被刷新,然后将其发送一次全部,所以start
后的任何回声将保持缓冲,直到end_flush
然后送到
其他提示
尽量分解为两个部分应用程序:
首先,取消设置cookie,那么你重定向结果页面上的用户。这是工作的常用方法。
也可以尝试在你的开发中使用的框架,它会提高你的技能和你的代码的可维护性。
Cookies是在集流管,其别的被发送之前被发送发送。因此,如果你有真正“呼应”的东西给客户端(浏览器),你的头也被发送。
这是说,你可以缓冲你的输出,并把它所有,一旦所有的代码已经运行(ob_start()
和ob_end_flush()
)
不隶属于 StackOverflow