前几天修改一个外贸购物网站时遇到一个问题:
用排除法一步步的查找后发现原来是header(“location:index.php”);这一句话导致的,可是再怎么看这句话也不会有错啊,而且用这个函数的时候,
我也符合它的规则以及注意事项啊,前面没有任何输出print echo。。。
上网查了一下原因,原来出现这个错误竟是setcookie照成的,而cookie本身在使用上又有一些限制:
1.呼叫setcookie的叙述必须放在<html>标签之前
2.呼叫setcookie之前,不可使用echo
3.直到网页被重新载入后,cookie才会在程式中出现
4.setcookie函数必須在任何资料输出至浏览器前,就先送出
由于上面这些限制,所以执行setcookie()函数时,常会碰到”Undefined index”、”Cannot modify header information – headers already sent
by”…等问题
ok既然知道错误的原因了那我们就来解决这个错误,解决这个错误的方法有两者
一:在产生cookie前,先延缓资料输出至浏览器,因此,我们可以在程序的最顶部加上ob_start()这个函数
二:我们可以修改一下php的配置文件php.ini 找到output_buffering = off 这句话 将off改为on就行了
最后问题完美解决
如果你有外贸建站需求,欢迎联系
QQ客服:415682727
电话:020-39907297
全国免费电话:800-999-8262
更多 外贸网站建设案例》》