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 15 PHP
linux下 C语言对 php 扩展
Dec 14 PHP
php数组函数序列之array_search()- 按元素值返回键名
Nov 04 PHP
使用php+Ajax实现唯一校验实现代码[简单应用]
Nov 29 PHP
TMDPHP 模板引擎使用教程
Mar 13 PHP
两种设置php载入页面时编码的方法
Jul 29 PHP
php使用session二维数组实例
Nov 06 PHP
php获取服务器操作系统相关信息的方法
Oct 08 PHP
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
Dec 14 PHP
ecshop添加菜单及权限分配问题
Nov 21 PHP
Laravel+Intervention实现上传图片功能示例
Jul 09 PHP
PHP如何通过date() 函数格式化显示时间
Nov 13 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
fleaphp常用方法分页之Pager使用方法
2011/04/23 PHP
php 获取本地IP代码
2013/06/23 PHP
PHP Laravel 上传图片、文件等类封装
2017/08/16 PHP
jQuery.validate 常用方法及需要注意的问题
2013/03/20 Javascript
jquery鼠标停止移动事件
2013/12/21 Javascript
javascript十六进制及二进制转化的方法
2015/05/06 Javascript
jQuery调用Webservice传递json数组的方法
2016/08/06 Javascript
jQuery使用正则验证15/18身份证的方法示例
2017/04/27 jQuery
JS中的多态实例详解
2017/10/15 Javascript
javascript Function函数理解与实战
2017/12/01 Javascript
Vue组件间通信方法总结(父子组件、兄弟组件及祖先后代组件间)
2019/04/17 Javascript
微信小程序自定义yPicker组件实现省市区三级联动功能
2020/10/29 Javascript
[15:39]教你分分钟做大人:龙骑士
2014/10/30 DOTA
python中查看变量内存地址的方法
2015/05/05 Python
Python爬虫爬取一个网页上的图片地址实例代码
2018/01/16 Python
python机器学习理论与实战(六)支持向量机
2018/01/19 Python
python 获取文件下所有文件或目录os.walk()的实例
2018/04/23 Python
Python下调用Linux的Shell命令的方法
2018/06/12 Python
python内置数据类型之列表操作
2018/11/12 Python
python合并已经存在的sheet数据到新sheet的方法
2018/12/11 Python
pyecharts绘制中国2020肺炎疫情地图的实例代码
2020/02/12 Python
python安装后的目录在哪里
2020/06/21 Python
如何基于Python pygame实现动画跑马灯
2020/11/18 Python
HTML5手指下滑弹出负一屏阻止移动端浏览器内置下拉刷新功能的实现代码
2020/04/10 HTML / CSS
介绍一下Linux中的链接
2016/06/05 面试题
北京麒麟网信息技术有限公司网络游戏测试面试题
2013/09/28 面试题
房地产管理毕业生自荐信
2013/11/04 职场文书
xxx同志考察材料
2014/02/07 职场文书
yy婚礼主持词
2014/03/14 职场文书
大学生优秀班干部事迹材料
2014/05/26 职场文书
防邪知识进家庭活动方案
2014/08/26 职场文书
2014年机关工会工作总结
2014/12/19 职场文书
2015年公共机构节能宣传周活动总结
2015/03/26 职场文书
检讨书模板大全
2015/05/07 职场文书
2019商业计划书格式、范文
2019/04/24 职场文书
2019暑假阅读倡议书
2019/06/24 职场文书