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 静态化实现代码
Mar 20 PHP
全局记录程序片段的运行时间 正确找到程序逻辑耗时多的断点
Jan 06 PHP
Zend Studio (eclipse)使用速度优化方法
Mar 23 PHP
整理的一些实用WordPress后台MySQL操作命令
Jan 07 PHP
PHP中使用asort进行中文排序失效的问题处理
Aug 18 PHP
PHP四舍五入、取整、round函数使用示例
Feb 06 PHP
PHP随机生成信用卡卡号的方法
Mar 23 PHP
PHP通过API获取手机号码归属地
May 28 PHP
PHP配置把错误日志以邮件方式发送方法(Windows系统)
Jun 23 PHP
php mysql获取表字段名称和字段信息的三种方法
Nov 13 PHP
PHP实现的自定义数组排序函数与排序类示例
Nov 18 PHP
PHP观察者模式定义与用法实例分析
Mar 22 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压缩html网页代码(清除空格,换行符,制表符,注释标记)
2012/04/02 PHP
php的dl函数用法实例
2014/11/06 PHP
win10 apache配置虚拟主机后localhost无法使用的解决方法
2018/01/27 PHP
php语法检查的方法总结
2019/01/21 PHP
JScript中使用ADODB.Stream判断文件编码的代码
2008/06/09 Javascript
jQuery学习笔记 操作jQuery对象 文档处理
2012/09/19 Javascript
js实现缓冲运动效果的方法
2015/04/10 Javascript
jquery实现标题字体变换的滑动门菜单效果
2015/09/07 Javascript
JS基于clipBoard.js插件实现剪切、复制、粘贴
2016/05/03 Javascript
纯JavaScript手写图片轮播代码
2016/10/20 Javascript
实例解析jQuery中如何取消后续执行内容
2016/12/01 Javascript
微信小程序开发之选项卡(窗口底部TabBar)页面切换
2017/04/12 Javascript
详解如何使用vue-cli脚手架搭建Vue.js项目
2017/05/19 Javascript
详解开源的JavaScript插件化框架MinimaJS
2017/10/26 Javascript
jquery动态添加以及遍历option并获取特定样式名称的option方法
2018/01/29 jQuery
vue项目中添加单元测试的方法
2018/07/21 Javascript
详解如何在nuxt中添加proxyTable代理
2018/08/10 Javascript
axios封装与传参示例详解
2020/10/18 Javascript
Python中的模块导入和读取键盘输入的方法
2015/10/16 Python
Python中的is和==比较两个对象的两种方法
2017/09/06 Python
关于Tensorflow中的tf.train.batch函数的使用
2018/04/24 Python
基于python traceback实现异常的获取与处理
2019/12/13 Python
Python如何访问字符串中的值
2020/02/09 Python
python实现IOU计算案例
2020/04/12 Python
python中rb含义理解
2020/06/18 Python
viagogo法国票务平台:演唱会、体育比赛、戏剧门票
2017/03/27 全球购物
friso美素佳儿官方海外旗舰店:荷兰原产原罐
2017/07/03 全球购物
eBay澳大利亚站:eBay.com.au
2018/02/02 全球购物
幼儿教师工作感言
2014/02/14 职场文书
工程质量承诺书范文
2014/03/27 职场文书
党员一句话承诺大全
2014/03/28 职场文书
我的梦中国梦演讲稿
2014/04/23 职场文书
青年标兵事迹材料
2014/08/16 职场文书
党员学习正风肃纪思想汇报
2014/09/12 职场文书
十月围城观后感
2015/06/08 职场文书
预备党员的思想汇报,你真的会写吗?
2019/06/28 职场文书