在PHP中如何实现在做了么个操作后返回到指定页面
我们经常会碰到类似用户在没有登录的情况下进行提问、评论,需要用户登录后返回刚才浏览的网页,这种功能用cookie保存当前url地址来实现。我用的是jquery,读者需要懂点jquery中的ajax请求。这个场景的cookie名我用'__forward__',读者可以用自己需要的标识符。
1. 不下载cookie.js。用post请求将当前网页的ulr地址传到后台,让后台用cookie保存url地址;在完成类似登录的页面的功能后,从cookie中取出来,用于页面跳转。
1.1 html页面
//js部分
$('#ask').click(function(){
var href = window.location.href; //用于没有登录的用户在登录后返回。
$.post("<{:U('question')}>",{'url':href}, function(data){ //把当前页面的链接传递给后台
alert('ok');
}
1.2 PHP部分
cookie('__forward__', I('post.url')); //我用的是ThinkPHP中自带的I()来获取post过来的url。读者可以用自己的方式获取传递到后台的url。
//下面是你做的业务功能,完成后可以在后台任何地方获取cookie中的url,并实现跳转。
//页面跳转
$url = cookie('__forward__');
cookie('__forward__', null); //注意:在取到cookie中的url后,将这个cookie删除。
$this->success('test', $url); //这里我用的是ThinkPHP中的页面跳转方法
2. 使用cookie.js,在html中使用cookie保存当前的url地址。需要下载cookie.js插件,用法可以取百度。与上一种做法的区别是不用传递cookie到后台了,后台任何地方都可以使用cookie中保存的url来实现跳转回指定页面。
2.1 html部分
<script type="text/javascript" src="__PUBLIC__/js/jquery.cookie.js"></script> <!-- 引入操作cookie的插件,路径是自己本地插件所在目录 --> <script>
$('#ask').click(
var href = window.location.href;
$.cookie('__forward__', href);
$.get("<{:U('question'}>" , funciton(data){
alert('ok');
});
);
</script>
2.2 php部分
与第一种实现方式的php部分唯一区别是,不用在cookie中保存刚才指定页面的url,即省去前面用cookie保存url的部分,其余相同。
如有错误,望指正。
在PHP中如何实现在做了么个操作后返回到指定页面的更多相关文章
- 解决:"不再sudoers文件中,此事将不做被报告”的问题
使用sudo出现问题:不再sudoers文件中,此事将不做被报告 系统:win8.1 +cents 7 问题:在虚拟机中,默认不是root账号,在使用sudo命令时候收到下面警告: sudo命令含义: ...
- PMO在组织中实现价值应做的工作
PMO在组织中实现价值应做的工作 研发人员及项目经理常常对PMO有反感情绪,认为其不熟悉业务流程与技术.经常要求项目经理和研发人员提交形式化的材料,只审批和监控,不能为项目提供良好的服务.在很多企业, ...
- 记录一下SparkStreaming中因为使用redis做数据验证而导致数据结果不对的问题
业务背景: 需要通过redis判断当前用户是否是新用户.当出现新用户后,会将该用户放入到redis中,以标明该用户已不是新用户啦. 出现问题: 发现入库时,并没有新用户入库,但我看了数据了,确实应该是 ...
- API接口自动化之3 同一个war包中多个接口做自动化测试
同一个war包中多个接口做自动化测试 一个接口用一个测试类,每个测试用例如下,比如下面是4个测试用例,每个详细的测试用例中含有请求入参,返回体校验,以此来判断每条测试用例是否通过 一个war包中,若含 ...
- UIButton中的**EdgeInsets是做什么用的?
UIButton中的**EdgeInsets是做什么用的? UIEdgeInsetsMake Creates an edge inset for a button or view.An inset i ...
- C#中如何防止Excel做科学计算法转换
C#中如何防止Excel做科学计算法转换 string style = @"<style>.text{mso-number-format:\@;}</style>& ...
- PHP中GD库是做什么用的? PHP GD库介绍11111111
什么是gd库? gd库是php处理图形的扩展库,gd库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片. 在网站上GD库通常用来生成缩略图或者用来对图片加水印或者对网站数据 ...
- Python中实现对list做减法操作介绍
Python中实现对list做减法操作介绍 这篇文章主要介绍了Python中实现对list做减法操作介绍,需要的朋友可以参考下 问题描述:假设我有这样两个list, 一个是list1,list1 = ...
- 技术分享 | 在GreatDB分布式部署模式中使用Chaos Mesh做混沌测试
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 1. 需求背景与万里安全数据库软件GreatDB分布式部署模式介绍 1.1 需求背景 混沌测试是检测分布式系统不确定性.建 ...
随机推荐
- jdbc.properties各种数据库连接配置
# HSQLDB #jdbc.driverClassName=org.hsqldb.jdbcDriver #jdbc.url=jdbc:hsqldb:hsql://localhost:9001/bo ...
- SQLite一些函数用法
--格林威治日期时间,比北京时间晚8小时 select datetime('now'); --格林威治日期 select date('now'); --本地时间 select time('now',' ...
- BZOJ 4517: [Sdoi2016]排列计数
4517: [Sdoi2016]排列计数 Time Limit: 60 Sec Memory Limit: 128 MBSubmit: 911 Solved: 566[Submit][Status ...
- Unicode 互转
// 转为unicode 编码 function encodeUnicode(str) { var res = []; ; i<str.length; i++ ) { res[i] = ( ) ...
- [转] charles使用教程指南
charles使用教程指南 0x01 前言: Charles是一款抓包修改工具,相比起burp,charles具有界面简单直观,易于上手,数据请求控制容易,修改简单,抓取数据的开始暂停方便等等优势 ...
- IOS判断设备是否已越狱
转自:http://www.cnblogs.com/supercheng/archive/2012/12/05/2804166.html - (BOOL)isJailbroken { BOOL jai ...
- Observer,Observable实现观察者模式
(#)个人对于观察者的理解:观察者与发布订阅模式是非常的相似的,例如当多个威信使用者订阅了同一个主题之后,那么这个主题就是一个被观察者,而这些用户就是观察 者,当这个主题更新了新的内容以后,就要通知所 ...
- 12 个CSS 高级技巧汇总[转载]
使用 :not() 在菜单上应用/取消应用边框 给body添加行高 所有一切都垂直居中 逗号分隔的列表 使用负的 nth-child 选择项目 对图标使用SVG 优化显示文本 对纯CSS滑块使用 ma ...
- 6.1-CALayer 使用
@设置圆角 注意点 1圆角效果,并不是在给定frame布局后有,要给定内容后才有 //头像 NSData *data = [[DJXMPPTool sharedInstance].cardAvatar ...
- Linux 的文本处理命令一览
grep 基于关键字搜索文本内容 -i 搜索时忽略大小写-n 显示结果所在行数-v 输出不带关键字的行-Ax 在输出的时候包含结果所在行之后的指定行数(x为一个数值,表示输出后面x行)-Bx 在输出的 ...