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 相关文章推荐
将OICQ数据转成MYSQL数据
Oct 09 PHP
php 之 没有mysql支持时的替代方案
Oct 09 PHP
PHP 创建标签云函数代码
May 26 PHP
PHPnow安装服务[apache_pn]失败的问题的解决方法
Sep 10 PHP
解析:php调用MsSQL存储过程使用内置RETVAL获取过程中的return值
Jul 03 PHP
完美的2个php检测字符串是否是utf-8编码函数分享
Jul 28 PHP
laravel 5 实现模板主题功能
Mar 02 PHP
php轻量级的性能分析工具xhprof的安装使用
Aug 12 PHP
完美解决phpdoc导出文档中@package的warning及Error的错误
May 17 PHP
Laravel 5.3 学习笔记之 安装
Aug 28 PHP
php把时间戳转换成多少时间之前函数的实例
Nov 16 PHP
PHP实现数组转JSon和JSon转数组的方法示例
Jun 14 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
WindowsXP中快速配置Apache+PHP5+Mysql
2008/06/05 PHP
Yii2框架BootStrap样式的深入理解
2016/11/07 PHP
详解JavaScript中的every()方法
2015/06/08 Javascript
AngularJS中实现显示或隐藏动画效果的方式总结
2015/12/31 Javascript
轻松实现js选项卡切换效果
2016/09/24 Javascript
ReactNative-JS 调用原生方法实例代码
2016/10/08 Javascript
JQuery中解决重复动画的方法
2016/10/17 Javascript
JSP防止网页刷新重复提交数据的几种方法
2016/11/19 Javascript
利用Js+Css实现折纸动态导航效果实例源码
2017/01/25 Javascript
基于jQuery实现的Ajax 验证用户名唯一性实例代码
2017/06/28 jQuery
Vue2路由动画效果的实现代码
2017/07/10 Javascript
基于构造函数的五种继承方法小结
2017/07/27 Javascript
jQuery选择器之基本选择器用法实例分析
2019/02/19 jQuery
jQuery实现的导航条点击后高亮显示功能示例
2019/03/04 jQuery
js数组相减简单示例【删除a数组所有与b数组相同元素】
2020/03/04 Javascript
python从网络读取图片并直接进行处理的方法
2015/05/22 Python
对numpy中shape的深入理解
2018/06/15 Python
Python基于聚类算法实现密度聚类(DBSCAN)计算【测试可用】
2018/12/26 Python
python整小时 整天时间戳获取算法示例
2019/02/20 Python
详解python:time模块用法
2019/03/25 Python
Python字符串匹配之6种方法的使用详解
2019/04/08 Python
3种python调用其他脚本的方法
2020/01/06 Python
Python matplotlib实时画图案例
2020/04/23 Python
基于Python实现粒子滤波效果
2020/12/01 Python
ghd官网:英国ghd直发器品牌
2018/05/04 全球购物
阿玛尼美妆英国官网:Giorgio Armani Beauty英国
2019/03/28 全球购物
电子邮箱格式怎么写
2014/01/12 职场文书
竞选生活委员演讲稿
2014/04/28 职场文书
奉献家乡演讲稿
2014/09/16 职场文书
党员对照检查材料
2014/09/22 职场文书
入党积极分子培养人意见
2015/06/02 职场文书
2019年XX公司的晨会制度及流程!
2019/07/23 职场文书
手把手教你制定暑期学习计划,让你度过充实的暑假
2019/08/22 职场文书
python数据处理之Pandas类型转换
2022/04/28 Python
python的html标准库
2022/04/29 Python
Linux中sftp常用命令整理
2022/06/28 Servers