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

yipeiwu_com6年前PHP代码库

本文实例讲述了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程序设计有所帮助。

相关文章

解决php的“It is not safe to rely on the system’s timezone settings”问题

如果使用PHP5.3以上版本时,如果没有正确的配置php.ini就会出现PHP日期函数的错误。以前很多旧的PHP编程教程没有说到这个问题,所以不少读者会觉得困惑,下面笔者为大家讲述解决这...

工厂模式在Zend Framework中应用介绍

工厂模式在Zend Framework中应用介绍

首先我们先引用些概念: 工厂模式:专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有其同的父类。工厂模式属于类的创建模式,通常根据自变量的不同返回不同类的实例。 工厂模式的实质...

基于php常用函数总结(数组,字符串,时间,文件操作)

数组:【重点1】implode(分隔,arr) 把数组值数据按指定字符连接起来例如:$arr=array('1','2','3','4');$str=implode('-',$arr);...

php中session过期时间设置及session回收机制介绍

网上很多人给出了解答:修改配置文件中的session.gc_maxlifetime。如果想了解更多session回收机制,继续阅读。(本文环境php5.2) 概述:每一次php请求,会有...

php快速url重写更新版[需php 5.30以上]

对于apache的rewrite模块打开和设置则非本文主题,请见其他文章详解. 这个类只能php 5.30以上的版本才能使用,继承了上一个版本的快速重定向的特点(单独类,全部使用静态调用...