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

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

WBOY
WBOYoriginal
2016-06-13 09:21:131395parcourir

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程序设计有所帮助。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn