【分享】PHP跳转Header(“location:”)的注意事项

header(“Location: “) 作为php的转向语句 ,可以使当前页面跳转到其他页面。在使用中需要注意:

1、用法

例:header(“Location:http://www.yanfei.info/ ”)

2、header前应没有任何输出。

3、如果之前有输出:

(1)会出现类似如下报错:

Warning: Cannot modify header information – headers already sent by (output started at …….php:12) in …….php on line N

(2)这时可以使用ob,它可以是在服务器端先存储有关输出,等待适当的时机再输出。如果不使用则为运行一句,输出一句,发现header语句就会报错。

具体的语句有: ob_start(); ob_end_clean();ob_flush();………

4、在header(“Location:http://www.yanfei.info/”)后要及时exit

否则他是会继续执行的,虽然在浏览器端你看不到相应的数据出现,但是如果你进行抓包分析的话,你就会看到下面的语句也是在执行的。而且被输送到了浏览器客户端,只不过是没有被浏览器执行为html而已(浏览器执行了header进行了转向操作)。

所以,标准的使用方法是 :

ob_start();

……..

if (…… ){

ob_end_clean();

header(“Location:http://www.yanfei.info/ ”);

exit;

else{

……….

ob_flush(); //可略
【参考】http://www.yanfei.info/2010/01/some-notes-about-php-header


阅读本文后,您的心情是:
 
恶心
愤怒
强赞
感动
路过
无聊
雷囧
关注
知识共享许可协议
评论(1) 浏览(10334) 引用(0)
引用地址:http://blog.baiwand.com/tb.php?sc=20faf8&id=155
Tags:
« 【分享】PHP为什么会被认为是草根语言? 【解决】kindeditor文件上传后自动将原文件名添加至文件说明中 »

评论列表

  1. dcj 2013-07-31 16:35
    大牛!
     

Blogger

  • blogger
  • 天之骄子
  • 职位:研发工程师
    铭言:
    阳光与欢乐同在,
    与我同在
    主页:
    blog.baiwand.com

分类目录

日志归档

主题标签

数据统计

  • 日志:151篇
  • 评论:45条
  • 碎语:264条
  • 引用:0条

链接表

随机日志 »

最新日志 »

最新评论 »

标签云 »

订阅Rss
sitemap