php开发中的页面跳转方法总结


Posted in PHP onApril 26, 2015

页面跳转可能是由于用户单击链接、按钮等触发的,也可能是系统自动产生的。页面自动跳转在WEB开发中经常用到,而且根据需求可以采用不同的跳转方式,比如提示操作信息后延时跳转等, 本文总结了WEB开发中常见的几种页面跳转方法。

PHP header()函数跳转

PHP的header()函数非常强大,其中在页面url跳转方面也调用简单,使用header()直接跳转到指定url页面,这时页面跳转是302重定向:

$url = "https://3water.com/";  
header( "Location: $url" );

我们有可能会遇到特殊的跳转时,比如网站改版有个页面地址要做301重定向,当然你可以通过web配置rewrite来实现,但现在我要告诉大家,可以使用php的header()函数做301跳转,代码如下:

//301跳转 
header( "HTTP/1.1 301 Moved Permanently" );   
header( "Location: $url" );

Meta设置跳转

html中的meta信息里可以直接设置跳转,可以设置跳转延迟时间和跳转url,经常应用,比如支付完了告诉用户支付成功并跳转到订单页面,代码非常简单,就在<head>中加上一句:

<meta http-equiv="refresh" content="5;url=https://3water.com">

以上代码表示在5秒钟后页面会自动跳转到https://3water.com。

Javascript跳转

Javascript跳转也非常简单,直接一句话:

<script> 
window.location.href="https://3water.com"; 
</script>

注意,上面这段代码直接跳转后,在目标页面地址中是获取不到来路(referer,也叫来源)的,在实际项目中,遇到有客户要求跳转要带来路(即目标网页可以获取到页面从哪里跳转来的),这时,我们可以用javascript模拟一次点击,然后跳转就满足了客户的需求。
 

<script> 
//有来路 
var aa = document.createElement("a"); 
aa.setAttribute("href","https://3water.com"); 
var bodys=document.getElementsByTagName("body")[0]; 
bodys.appendChild(aa); 
aa.click(); 
</script>

当然,实际开发中我们可以把后面两种方式整合到PHP中去,便于适用各种跳转需求。

以上所述就是本文的全部内容了,希望大家能够喜欢。

PHP 相关文章推荐
mysql总结之explain
Feb 27 PHP
PHP操作Memcache实例介绍
Jun 14 PHP
探讨:如何使用PhpDocumentor生成文档
Jun 25 PHP
PHP队列用法实例
Nov 05 PHP
php中strtotime函数用法详解
Nov 15 PHP
php操作redis缓存方法分享
Jun 03 PHP
php面向对象与面向过程两种方法给图片添加文字水印
Aug 26 PHP
WordPress中缩略图的使用以及相关技巧
Nov 24 PHP
php ci 获取表单中多个同名input元素值的代码
Mar 25 PHP
PHP XML和数组互相转换详解
Oct 26 PHP
php爬取天猫和淘宝商品数据
Feb 23 PHP
Laravel基础_关于view共享数据的示例讲解
Oct 14 PHP
如何使用jQuery+PHP+MySQL来实现一个在线测试项目
Apr 26 #PHP
PHP开启opcache提升代码性能
Apr 26 #PHP
php格式化电话号码的方法
Apr 24 #PHP
php生成年月日下载列表的方法
Apr 24 #PHP
PHP传参之传值与传址的区别
Apr 24 #PHP
php获取访问者IP地址汇总
Apr 24 #PHP
php实现的RSS生成类实例
Apr 23 #PHP
You might like
PHP资源管理框架Assetic简介
2014/06/12 PHP
一个经典的PHP文件上传类分享
2014/11/18 PHP
PHP图像处理类库及演示分享
2015/05/17 PHP
ECSHOP在PHP5.5及高版本上报错的解决方法
2015/08/31 PHP
PHP输出图像imagegif、imagejpeg与imagepng函数用法分析
2016/11/14 PHP
Laravel构建即时应用的一种实现方法详解
2017/08/31 PHP
Laravel使用RabbitMQ的方法示例
2019/06/18 PHP
JavaScript 编程引入命名空间的方法与代码
2007/08/13 Javascript
javascript getElementsByName()的用法说明
2009/07/31 Javascript
通过jQuery打造支持汉字,拼音,英文快速定位查询的超级select插件
2010/06/18 Javascript
15条JavaScript最佳实践小结
2013/08/09 Javascript
jquery链式操作的正确使用方法
2014/01/06 Javascript
超棒的响应式布局jQuery插件Freetile.js
2014/11/17 Javascript
js实现网站最上边可关闭的浮动广告条代码
2015/09/04 Javascript
smartupload实现文件上传时获取表单数据(推荐)
2016/12/12 Javascript
Angular 4依赖注入学习教程之简介(一)
2017/06/04 Javascript
详解Node.js利用node-git-server快速搭建git服务器
2017/09/27 Javascript
echarts学习笔记之图表自适应问题详解
2017/11/22 Javascript
浅谈Redux中间件的实践
2018/07/27 Javascript
js作用域和作用域链及预解析
2019/04/11 Javascript
vue实现的请求服务器端API接口示例
2019/05/25 Javascript
python利用beautifulSoup实现爬虫
2014/09/29 Python
python 环境变量和import模块导入方法(详解)
2017/07/11 Python
python编写微信远程控制电脑的程序
2018/01/05 Python
python使用udp实现聊天器功能
2018/12/10 Python
python实现的接收邮件功能示例【基于网易POP3服务器】
2019/09/11 Python
python使用信号量动态更新配置文件的操作
2020/04/01 Python
基于Tensorflow一维卷积用法详解
2020/05/22 Python
C#如何调用Windows程序打开一个文档
2014/12/26 面试题
大学生在校学习的自我评价
2014/02/18 职场文书
大学生活动总结模板
2014/07/02 职场文书
公司授权委托书样本
2014/09/15 职场文书
开展批评与自我批评发言材料
2014/10/17 职场文书
深入理解redis中multi与pipeline
2021/06/02 Redis
Python趣味实战之手把手教你实现举牌小人生成器
2021/06/07 Python
MySQL的存储过程和相关函数
2022/04/26 MySQL