Home >Backend Development >PHP Tutorial >php利用header跳转怎么失效了?

php利用header跳转怎么失效了?

PHPz
PHPzOriginal
2016-06-02 11:34:471428browse

PHP的header跳转之前不能有任何内容输出,因为PHP开始执行的时候就已经向浏览器送出HTTP头信息,之后就不再允许更改了;且“header("location:xx")”进行跳转时,location和“:”号间不能有空格,否则会出错。

php利用header跳转怎么失效了?

问题:

今天header(\"Location: $url\"),以往跳转总是可以的,今天却不动,只是输出结果,以往自己要确认检查,$url的值获取的是否正确,所以在前面加了echo $url;来调试用,结果就导致了header函数的无效.

解决方法:

在PHP中用header("location:test.php")进行跳转要注意以下几点:

1、location和“:”号间不能有空格,否则会出错.//phpfensi.com

2、在用header前不能有任何的输出,包括include的页面中标签“?>”后不能有空格.

3、header后的PHP代码还会被执行。

PHP的 header 跳转之前不能有任何内容输出,因为PHP开始执行的时候就已经向浏览器送出HTTP头信息,之后就不再允许更改了.

但是如果必须要在输出之后再处理header信息的话可以使用 ob_start() ob_end_flush() 来缓存一下要发送的内容,等到header继续再发送内容.

或者一个更简单的办法,修改php.ini,找到 output_buffering=Off 修改为 output_buffering=4096。

更多相关知识,请访问 PHP中文网!!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn