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 生成饼图 三维饼图
Sep 28 PHP
php面向对象全攻略 (十一)__toString()用法 克隆对象 __call处理调用错误
Sep 30 PHP
php 获取本机外网/公网IP的代码
May 09 PHP
PHP函数microtime()用法与说明
Dec 04 PHP
PHPUnit安装及使用示例
Oct 29 PHP
大家须知简单的php性能优化注意点
Jan 04 PHP
PHP编程获取音频文件时长的方法【基于getid3类】
Apr 20 PHP
PHP实现中国公民身份证号码有效性验证示例代码
May 03 PHP
PHP从数组中删除元素的四种方法实例
May 12 PHP
PHP bin2hex()函数基础实例讲解
Feb 11 PHP
PHP-FPM 设置多pool及配置文件重写操作示例
Oct 02 PHP
php下的原生ajax请求用法实例分析
Feb 28 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
法兰绒滤网冲泡
2021/03/03 冲泡冲煮
PHP安全编程之加密功能
2006/10/09 PHP
phpMyAdmin2.11.6安装配置方法
2008/08/24 PHP
非常好用的两个PHP函数 serialize()和unserialize()
2012/02/04 PHP
解析PHP对现有搜索引擎的调用
2013/06/25 PHP
jquery图片延迟加载 前端开发技能必备系列
2012/06/18 Javascript
Jquery为a标签的href赋值实现代码
2013/05/03 Javascript
jQuery蓝色风格滑动导航栏代码分享
2015/08/19 Javascript
javascript每日必学之条件分支
2016/02/17 Javascript
javascript实现用户点击数量统计
2016/12/25 Javascript
JS实现京东首页之页面顶部、Logo和搜索框功能
2017/01/12 Javascript
原生js获取浏览器窗口及元素宽高常用方法集合
2017/01/18 Javascript
JavaScript实现求最大公共子串的方法
2018/02/03 Javascript
webpack4 入门最简单的例子介绍
2018/09/05 Javascript
es6 symbol的实现方法示例
2019/04/02 Javascript
JavaScript实现随机点名程序
2020/03/25 Javascript
Vue 实现监听窗口关闭事件,并在窗口关闭前发送请求
2020/09/01 Javascript
[00:47]DOTA2荣耀之路6:玩不了啦!
2018/05/30 DOTA
用于业余项目的8个优秀Python库
2018/09/21 Python
pygame游戏之旅 计算游戏中躲过的障碍数量
2018/11/20 Python
numpy.where() 用法详解
2019/05/27 Python
关于jupyter打开之后不能直接跳转到浏览器的解决方式
2020/04/13 Python
python中tab键是什么意思
2020/06/18 Python
python反爬虫方法的优缺点分析
2020/11/25 Python
英国玛莎百货澳大利亚:Marks & Spencer Australia
2019/08/30 全球购物
adidas泰国官网:adidas TH
2020/07/11 全球购物
计算机应用专业推荐信
2013/11/13 职场文书
给导游的表扬信
2014/01/10 职场文书
模范家庭事迹材料
2014/02/10 职场文书
建筑专业毕业生求职信
2014/09/30 职场文书
大学生在校表现评语
2014/12/31 职场文书
小人国观后感
2015/06/11 职场文书
2016年“6.26”禁毒宣传月系列活动总结
2016/04/05 职场文书
nginx proxy_cache 缓存配置详解
2021/03/31 Servers
详解CSS开发过程中的20个快速提升技巧
2021/05/21 HTML / CSS
Python中else的三种使用场景
2021/06/16 Python