>  기사  >  백엔드 개발  >  PHP跳转Header(“location:”)的注意事项

PHP跳转Header(“location:”)的注意事项

WBOY
WBOY원래의
2016-06-20 13:05:152227검색

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

1、用法

header(“Location:http://www.scutephp.com/ ”)

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.scutepp.com/”)后要及时exit

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

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

ob_start();

……..

if (…… ){

ob_end_clean();

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

exit;

else{

……….

ob_flush(); //可略

 


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.