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二分法在IP地址查询中的应用
Aug 12 PHP
一步一步学习PHP(4) php 函数 补充2
Feb 15 PHP
PHP轻量级数据库操作类Medoo增加、删除、修改、查询例子
Jul 04 PHP
详解PHP实现执行定时任务
Dec 21 PHP
PHP实现伪静态方法汇总
Jan 13 PHP
Zend Framework上传文件重命名的实现方法
Nov 25 PHP
php中请求url的五种方法总结
Jul 13 PHP
php实现的pdo公共类定义与用法示例
Jul 19 PHP
ThinkPHP like模糊查询,like多匹配查询,between查询,in查询,一般查询书写方法
Sep 26 PHP
laravel使用Faker数据填充的实现方法
Apr 12 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
Nov 26 PHP
关于PHP数组迭代器的使用方法实例
Nov 17 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实现在线生成条形码示例分享(条形码生成器)
2013/12/30 PHP
ThinkPHP模板IF标签用法详解
2014/07/01 PHP
php中define用法实例
2015/07/30 PHP
PHP常用的小程序代码段
2015/11/14 PHP
Javascript 遍历对象中的子对象
2009/07/03 Javascript
asp(javascript)全角半角转换代码 dbc2sbc
2009/08/06 Javascript
JavaScript isArray()函数判断对象类型的种种方法
2010/10/11 Javascript
两个Javascript小tip资料
2010/11/23 Javascript
js图片处理示例代码
2014/05/12 Javascript
javascript实现鼠标拖动改变层大小的方法
2015/04/30 Javascript
js实现点击向下展开的下拉菜单效果代码
2015/09/01 Javascript
微信小程序之数据缓存的实例详解
2017/09/29 Javascript
深入理解js 中async 函数的含义和用法
2018/05/13 Javascript
详解nuxt sass全局变量(公共scss解决方案)
2018/06/27 Javascript
vue服务端渲染添加缓存的方法
2018/09/18 Javascript
javascript用defineProperty实现简单的双向绑定方法
2020/04/03 Javascript
[00:34]DOTA2上海特级锦标赛 Spirit战队宣传片
2016/03/04 DOTA
Windows下安装python2.7及科学计算套装
2015/03/05 Python
Python处理XML格式数据的方法详解
2017/03/21 Python
Java与Python两大幸存者谁更胜一筹呢
2018/04/12 Python
pandas 实现将重复表格去重,并重新转换为表格的方法
2018/04/18 Python
win8.1安装Python 2.7版环境图文详解
2019/07/01 Python
python中用logging实现日志滚动和过期日志删除功能
2019/08/20 Python
Django 后台带有字典的列表数据与页面js交互实例
2020/04/03 Python
python中的垃圾回收(GC)机制
2020/09/21 Python
python字典与json转换的方法总结
2020/12/28 Python
全网最细 Python 格式化输出用法讲解(推荐)
2021/01/18 Python
体育教育专业毕业生自荐信
2013/11/15 职场文书
矫正人员思想汇报
2014/01/08 职场文书
医学生个人求职信范文
2014/02/07 职场文书
高中生班主任评语
2014/04/25 职场文书
房地产广告策划方案
2014/05/15 职场文书
技术股份合作协议书
2014/10/05 职场文书
王金山在党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
2016教师党员学习心得体会
2016/01/21 职场文书
Go Plugins插件的实现方式
2021/08/07 Golang