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读取数据库信息的几种方法
May 24 PHP
sqlyog 中文乱码问题的设置方法
Oct 19 PHP
PHP 读取和修改大文件的某行内容的代码
Oct 30 PHP
php中常用的预定义变量小结
May 09 PHP
PHP迭代器实现斐波纳契数列的函数
Nov 12 PHP
PHP开源开发框架ZendFramework使用中常见问题说明及解决方案
Jun 12 PHP
php并发加锁示例
Oct 17 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
Aug 28 PHP
PHP迭代与递归实现无限级分类
Aug 28 PHP
PHP自定义函数实现数组比较功能示例
Oct 19 PHP
PHP中将一个字符串部分字符用星号*替代隐藏的实现代码
Sep 08 PHP
laravel 实现上传图片到本地和前台访问示例
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
十天学会php之第二天
2006/10/09 PHP
php sybase_fetch_array使用方法
2014/04/15 PHP
php常用的url处理函数总结
2014/11/19 PHP
php使用simplexml_load_file加载XML文件并显示XML的方法
2015/03/19 PHP
深入理解javascript学习笔记(一) 编写高质量代码
2012/08/09 Javascript
一个页面放2段图片滚动代码出现冲突的问题如何解决
2012/12/21 Javascript
js简单实现HTML标签Select联动带跳转
2013/10/23 Javascript
jQuery中使用Ajax获取JSON格式数据示例代码
2013/11/26 Javascript
jquery fancybox ie6不显示关闭按钮的解决办法
2013/12/25 Javascript
js中的preventDefault与stopPropagation详解
2014/01/29 Javascript
JavaScript利用正则表达式去除日期中的-
2014/06/09 Javascript
Nodejs中自定义事件实例
2014/06/20 NodeJs
JS获取图片高度宽度的方法分享
2015/04/17 Javascript
详解nodejs微信公众号开发——3.封装消息响应模块
2017/04/10 NodeJs
vue2项目使用sass的示例代码
2017/06/28 Javascript
Angular5.0 子组件通过service传递值给父组件的方法
2018/07/13 Javascript
详解vue项目接入微信JSSDK的坑
2018/12/14 Javascript
Egg Vue SSR 服务端渲染数据请求与asyncData
2019/11/24 Javascript
vue实现计算器功能
2020/02/22 Javascript
Vue 解决在element中使用$notify在提示信息中换行问题
2020/11/11 Javascript
用python删除java文件头上版权信息的方法
2014/07/31 Python
Python使用re模块实现信息筛选的方法
2018/04/29 Python
python斐波那契数列的计算方法
2018/09/27 Python
Python实现堡垒机模式下远程命令执行操作示例
2019/05/09 Python
PyQt5组件读取参数的实例
2019/06/25 Python
Tensorflow 定义变量,函数,数值计算等名字的更新方式
2020/02/10 Python
IDLE下Python文件编辑和运行操作
2020/04/25 Python
浅谈keras中的keras.utils.to_categorical用法
2020/07/02 Python
Android面试题附答案
2014/12/08 面试题
保护环境演讲稿
2014/05/10 职场文书
学习雷锋演讲稿
2014/05/10 职场文书
我的中国梦演讲稿1000字
2014/08/19 职场文书
好人好事演讲稿
2014/09/01 职场文书
教育见习报告范文
2014/11/03 职场文书
Unicode中的CJK(中日韩统一表意文字)字符小结
2021/12/06 HTML / CSS
SpringBoot整合minio快速入门教程(代码示例)
2022/04/03 Java/Android