Home  >  Article  >  php教程  >  PHP利用header跳转失效的解决方法

PHP利用header跳转失效的解决方法

WBOY
WBOYOriginal
2016-06-13 09:21:131395browse

PHP利用header跳转失效的解决方法

   一、问题:

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

  二、解决方法:

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

  1、location和“:”号间不能有空格,否则会出错.//downcc.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