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 Zip压缩 在线对文件进行压缩的函数
May 26 PHP
解析php中session的实现原理以及大网站应用应注意的问题
Jun 17 PHP
遭遇php的in_array低性能问题
Sep 17 PHP
php返回相对时间(如:20分钟前,3天前)的方法
Apr 14 PHP
CodeIgniter与PHP5.6的兼容问题
Jul 16 PHP
jQuery+PHP发布的内容进行无刷新分页(Fckeditor)
Oct 22 PHP
PHP利用APC模块实现大文件上传进度条的方法
Oct 29 PHP
php上传图片生成缩略图(GD库)
Jan 06 PHP
php安装扩展mysqli的实现步骤及报错解决办法
Sep 23 PHP
php strftime函数获取日期时间(switch用法)
May 16 PHP
PHP开发的文字水印,缩略图,图片水印实现类与用法示例
Apr 12 PHP
Laravel 之url参数,获取路由参数的例子
Oct 21 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
一些操作和快捷键的理解和讨论
2020/03/04 星际争霸
Uchome1.2 1.5 代码学习 common.php
2009/04/24 PHP
PHP set_time_limit(0)长连接的实现分析
2010/03/02 PHP
使用php实现下载生成某链接快捷方式的解决方法
2013/05/07 PHP
jQuery 页面载入进度条实现代码
2009/02/08 Javascript
JS面向对象、prototype、call()、apply()
2009/05/14 Javascript
autoIMG 基于jquery的图片自适应插件代码
2011/03/12 Javascript
Jquery焦点图实例代码
2014/11/25 Javascript
JavaScript实现移动端滑动选择日期功能
2016/06/21 Javascript
jQuery编写textarea输入字数限制代码
2017/03/23 jQuery
JS实现问卷星自动填问卷脚本并在两秒自动提交功能
2020/06/17 Javascript
npm 更改默认全局路径以及国内镜像的方法
2018/05/16 Javascript
js实现图片放大并跟随鼠标移动特效
2019/01/18 Javascript
vue基本使用--refs获取组件或元素的实例
2019/11/07 Javascript
js 数组当前行添加数据方法详解
2020/07/28 Javascript
vite2.0+vue3移动端项目实战详解
2021/03/03 Vue.js
使用Python的Scrapy框架编写web爬虫的简单示例
2015/04/17 Python
django创建自定义模板处理器的实例详解
2017/08/14 Python
python实现用户答题功能
2018/01/17 Python
10个Python小技巧你值得拥有
2018/09/29 Python
在Anaconda3下使用清华镜像源安装TensorFlow(CPU版)
2020/04/19 Python
matplotlib绘制正余弦曲线图的实现
2021/02/22 Python
Bally巴利英国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/05/07 全球购物
什么是View State?
2013/01/27 面试题
动态密码技术
2012/10/18 面试题
大学生表扬信范文
2014/01/09 职场文书
优秀班组长事迹
2014/05/31 职场文书
建筑管理专业求职信
2014/07/28 职场文书
大学生推广普通话演讲稿
2014/09/21 职场文书
企业2014年度工作总结
2014/12/10 职场文书
师德先进个人材料
2014/12/20 职场文书
教师学期述职自我鉴定
2019/08/16 职场文书
创业计划书之零食店(进口)
2019/09/24 职场文书
CSS3 制作的悬停缩放特效
2021/04/13 HTML / CSS
vue组件冲突之引用另一个组件出现组件不显示的问题
2022/04/13 Vue.js
js 实现验证码输入框示例详解
2022/09/23 Javascript