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

yipeiwu_com7年前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插件 HTMLPurifier HTML解析器

浅析php插件 HTMLPurifier HTML解析器

HTMLPurifier插件的使用下载HTMLPurifier插件HTMLPurifier插件有用的部分是 library 使用HTMLPurifier library类库第一种方式复制...

php截取字符串并保留完整xml标签的函数代码

复制代码 代码如下:<?php      /**      * author: goosman &n...

CodeIgniter生成网站sitemap地图的方法

1.建立了一个名为sitemap的控制器复制代码 代码如下:<?phpif (!defined('BASEPATH')) exit ('No direct script...

php中如何使对象可以像数组一样进行foreach循环

刚接触到题的时候,我也没有考虑到Iterator模式,试了几个一般想法,失败以后。。。。就直接去翻看了foreach的源码实现,期望发现foreach处理对象的时候是否有什么特殊性,可以...

PHP控制反转(IOC)和依赖注入(DI)

先看一个例子: <?php class A { public $b; public $c; public function A() { //TODO }...