PHP Header用于页面跳转时的几个注意事项


Posted in PHP onOctober 21, 2016

前言

本文介绍的是在PHP中用header("location:test.php")进行跳转要注意以下几点,有助于解决一些新手经常遇到的问题

一、location和“:”号间不能有空格,否则会出错。

二、在用header前不能有任何的输出。

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

下面是和asp中重定向response.redirect的比较:

例1:

response.redirect "../test.asp"
header("location:../test.php");

两者区别:

asp的redirect函数可以在向客户发送头文件后起作用.


<html><head></head><body>
<%response.redirect "../test.asp"%>
</body></html>

查是php中下例代码会报错:

<html><head></head><body>
<?
header("location:../test.php");
?>
</body></html>

只能这样:

<?
header("location:../test.php");
?>
<html><head></head><body>...</body></html>

即header函数之前不能向客户发送任何数据.

例2:

asp中

<html><head></head><body>
<%
response.redirect "../a.asp"
response.redirect "../b.asp"
%>
</body></html>

结果是重定向a.asp文件.

php呢?

<?
header("location:../a.php");
header("location:../b.php");
?>
<html><head></head><body></body></html>

我们发现它重定向b.php.

原来在asp中执行redirect后不会再执行后面的代码.

而php在执行header后,继续执行下面的代码.

在这方面上php中的header重定向不如asp中的重定向.有时我们要重定向后,不能执行后面的代码:

一般地我们用

if(...)
header("...");
else
{
...
}

但是我们可以简单的用下面的方法:

if(...)
{ header("...");exit();}

还要注意的是,如果是用Unicode(UTF-8)编码时也会出现问题,需要调整缓存设置.

<[email=%@]%@LANGUAGE="VBSCRIPT[/email]" CODEPAGE="936"%>
<%if Request.ServerVariables("SERVER_NAME")="s.3water.com" then
response.redirect "news/index.htm"
else%>
<%end if%>
<script>
var url = location.href;
if(url.indexOf('http://www.devdao.com/')!=-1)location.href='/index/index.htm';
if(url.indexOf('http://www.knowsky.com/')!=-1)location.href='/index1/index.htm';
if(url.indexOf('http://www.google.com/')!=-1)location.href='/cn/index.asp';
if(url.indexOf('http://www.baidu.com/')!=-1)location.href='/cn/index.asp';
</script>

总结

以上就是这篇文章的全部内容了,希望能对大家的学习或者工作带来一定的帮助,如果有疑问大家可以留言交流。

PHP 相关文章推荐
用PHP发电子邮件
Oct 09 PHP
PHP网站提速三大“软”招
Oct 09 PHP
实用函数10
Nov 08 PHP
PHP substr 截取字符串出现乱码问题解决方法[utf8与gb2312]
Dec 16 PHP
PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法
May 04 PHP
PHP中模拟处理HTTP PUT请求的例子
Jul 22 PHP
DOM基础及php读取xml内容操作的方法
Jan 23 PHP
CI框架封装的常用图像处理方法(缩略图,水印,旋转,上传等)
Nov 22 PHP
Laravel学习基础之migrate的使用教程
Oct 11 PHP
详解php协程知识点
Sep 21 PHP
PHP count_chars()函数讲解
Feb 14 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
Nov 19 PHP
phpcms中的评论样式修改方法
Oct 21 #PHP
PHP+jquery+CSS制作头像登录窗(仿QQ登陆)
Oct 20 #PHP
PHP中的多种加密技术及代码示例解析
Oct 20 #PHP
php rmdir使用递归函数删除非空目录实例详解
Oct 20 #PHP
PHPCMS V9 添加二级导航的思路详解
Oct 20 #PHP
php实现登陆模块功能示例
Oct 20 #PHP
php实现文章置顶功能的方法
Oct 20 #PHP
You might like
用PHP与XML联手进行网站编程代码实例
2008/07/10 PHP
php fckeditor 调用的函数
2009/06/21 PHP
基于empty函数的输出详解
2013/06/17 PHP
ubuntu下编译安装xcache for php5.3 的具体操作步骤
2013/06/18 PHP
php中出现空白页的原因及解决方法汇总
2014/07/08 PHP
VPS中使用LNMP安装WordPress教程
2014/12/28 PHP
PHP实现的迷你漂流瓶
2015/07/29 PHP
Yii2组件之多图上传插件FileInput的详细使用教程
2016/06/20 PHP
php支付宝APP支付功能
2020/07/29 PHP
javascript转换字符串为dom对象(字符串动态创建dom)
2010/05/10 Javascript
纯JS实现五子棋游戏兼容各浏览器(附源码)
2013/04/24 Javascript
解决用jquery load加载页面到div时,不执行页面js的问题
2014/02/22 Javascript
Node.js的特点和应用场景介绍
2014/11/04 Javascript
jQuery旋转木马式幻灯片轮播特效
2015/12/04 Javascript
js实现input密码框提示信息的方法(附html5实现方法)
2016/01/14 Javascript
jQuery插件实现可输入和自动匹配的下拉框
2016/10/24 Javascript
javascript稀疏数组(sparse array)和密集数组用法分析
2016/12/28 Javascript
微信小程序swiper组件用法实例分析【附源码下载】
2017/12/07 Javascript
Node.js中,在cmd界面,进入退出Node.js运行环境的方法
2018/05/12 Javascript
微信小程序实现页面浮动导航
2019/01/28 Javascript
js针对图片加载失败的处理方法分析
2019/08/24 Javascript
javascript 构建模块化开发过程解析
2019/09/11 Javascript
Python2.7+pytesser实现简单验证码的识别方法
2017/12/29 Python
Python-OpenCV基本操作方法详解
2018/04/02 Python
python使用phoenixdb操作hbase的方法示例
2019/02/28 Python
Pandas聚合运算和分组运算的实现示例
2019/10/17 Python
Django框架表单操作实例分析
2019/11/04 Python
Python 使用Opencv实现目标检测与识别的示例代码
2020/09/08 Python
教你如何用python操作摄像头以及对视频流的处理
2020/10/12 Python
美国咖啡批发网站:Coffee.org
2017/06/29 全球购物
全球500多个机场的接送服务:Suntransfers
2019/06/03 全球购物
Myprotein荷兰官网:欧洲第一运动营养品牌
2020/07/11 全球购物
满月酒答谢词
2014/01/14 职场文书
法律进机关实施方案
2014/03/12 职场文书
母亲节主题班会
2015/08/14 职场文书
SpringBoot接入钉钉自定义机器人预警通知
2022/07/15 Java/Android