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在XP下IIS和Apache2服务器上的安装
Sep 05 PHP
人尽可用的Windows技巧小贴士之下篇
Mar 22 PHP
PHP中使用CURL获取页面title例子
Jan 07 PHP
php支付宝手机网页支付类实例
Mar 04 PHP
PHP IDE phpstorm 常用快捷键
May 18 PHP
隐性调用php程序的方法
Jun 13 PHP
PHP7中I/O模型内核剖析详解
Apr 14 PHP
laravel 获取某个查询的查询SQL语句方法
Oct 12 PHP
PHP学习记录之常用的魔术常量详解
Dec 12 PHP
PHP7 弃用功能
Mar 09 PHP
php7中停止php-fpm服务的方法详解
May 09 PHP
PHP中国际化的字符串排序和比较对象详解
Aug 23 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+MySQL搭建聊天室功能实例代码
2012/08/20 PHP
PHP接口继承及接口多继承原理与实现方法详解
2017/10/18 PHP
JavaScript 自动分号插入(JavaScript synat:auto semicolon insertion)
2009/11/04 Javascript
jquery三个关闭弹出层的小示例
2013/11/05 Javascript
JS获取下拉框显示值和判断单选按钮的方法
2015/07/09 Javascript
AngularJS实现单独作用域内的数据操作
2016/09/05 Javascript
AngularJS通过$location获取及改变当前页面的URL
2016/09/23 Javascript
微信小程序 action-sheet底部菜单详解
2016/10/27 Javascript
浅谈javascript中执行环境(作用域)与作用域链
2016/12/08 Javascript
JAVA中截取字符串substring用法详解
2017/04/14 Javascript
JavaScript实现省市联动过程中bug的解决方法
2017/12/04 Javascript
详解vue-router 初始化时做了什么
2018/06/11 Javascript
微信小程序--特定区域滚动到顶部时固定的方法
2019/04/28 Javascript
小程序实现横向滑动日历效果
2019/10/21 Javascript
VSCode launch.json配置详细教程
2020/06/18 Javascript
Postman参数化实现过程及原理解析
2020/08/13 Javascript
python批量下载图片的三种方法
2013/04/22 Python
python异常和文件处理机制详解
2016/07/19 Python
简单的python后台管理程序
2017/04/13 Python
Python学习pygal绘制线图代码分享
2017/12/09 Python
Python 实现文件打包、上传与校验的方法
2019/02/13 Python
python 使用plt画图,去除图片四周的白边方法
2019/07/09 Python
python文件操作的简单方法总结
2019/11/07 Python
Python进程Multiprocessing模块原理解析
2020/02/28 Python
基于python实现破解滑动验证码过程解析
2020/05/28 Python
python 批量将中文名转换为拼音
2021/02/07 Python
阿玛尼化妆品美国官网:Giorgio Armani Beauty
2017/02/02 全球购物
办护照工作证明范本
2014/01/14 职场文书
2014年大学生自我评价
2014/01/19 职场文书
民族学专业职业生涯规划范文:积跬步以至千里
2014/09/11 职场文书
助学感谢信范文
2015/01/21 职场文书
2019送给家人们的中秋节祝福语
2019/08/15 职场文书
读《工匠精神》有感:热爱工作,精益求精
2019/12/28 职场文书
python迷宫问题深度优先遍历实例
2021/06/20 Python
【2·13】一图读懂中国无线电发展
2022/02/18 无线电
django项目、vue项目部署云服务器的详细过程
2022/07/23 Servers