当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP技巧教程:setcookie语句的问题

PHP
使用 PHP 和 Oracle 开发企业应用程序
可扩展 可伸缩的 Oracle 与 PHP
Andi Gutmans看 PHP 5、Oracle 的未来
PEAR版本号说明
PEAR的安装
PHP 新手总结的 PHP 基础知识
WAP 与 PHP 程序设计之基础篇
PHP强制对象类型之instanceof操作符(1)
PHP强制对象类型之instanceof操作符(2)
PHP强制对象类型之instanceof操作符(3)
Linux平台wacom产品使用指南
一个嵌入式Linux系统的键盘驱动实现 (1)(2)
一个嵌入式Linux系统的键盘驱动实现 (1)
SWT的可视化控件的X11窗口句柄简介
Linux系统内核中的Device Mapper机制 (1)(5)
Linux系统内核中的Device Mapper机制 (1)(4)
Linux系统内核中的Device Mapper机制 (1)(3)
Linux系统内核中的Device Mapper机制 (1)(2)
Linux系统内核中的Device Mapper机制 (1)
又一关于apache和mysql组合的问题 - PHPchina

PHP技巧教程:setcookie语句的问题


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 109 ::
收藏到网摘: n/a

出现的错误提示:

Warning: Cannot modify header information - headers already sent by

解决办法:

打开php_ini,搜索output_bufferfing,把前面的分号去掉,把off修改为on,或者设置一个数值。就可以了。

这类语句,造成这个原因是因为setcookie语句的问题。

cookie本身在使用上有一些限制,例如:
1.呼叫setcookie的?述必?放在标签之前
2.呼叫setcookie之前,不可使用echo
3.直到??被重新?入後,cookie才?在程式中出?
4.setcookie函数必?在任何?料?出至浏览器前,就先送出
5.……

基於上面?些限制,所以?行setcookie()函数时,常?碰到”Undefined index”、”Cannot modify header information - headers already sent by”…等??,解?”Cannot modify header information - headers already sent by”这个??的方法是在产生cookie前,先延缓?料输出至浏览器,因此,您可以在程式的最前方加上ob_start();这个函?。这样就可以解决了。