今天在用cookie做购物车模块,发现setcookie后的cookie根本就不正确:unshift进去新的数组元素时,总会抹掉第二个元素,页面上也不显示错误,后来在调试模式菜单里找到错误了
然后我又去看代码,发现是打印变量捣的鬼,删掉打印,重试,就正常了.
然后赶紧看手册
因此,如果必须在设置cookie前输出内容,可以利用ob_start()函数或在php.ini中设置output_buffering = 4096打开输出缓冲,这样,php脚本将不会输出内容,而是把需要输出的内容存储在内部缓冲区中.然后在脚本结束时,php会自动调用ob_end_flush冲刷出输出缓冲区内容并关闭缓冲.