在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的部分,其余相同。

    如有错误,望指正。

时间: 2024-10-10 00:00:05

在PHP中如何实现在做了么个操作后返回到指定页面的相关文章

解决:&quot;不再sudoers文件中,此事将不做被报告”的问题

使用sudo出现问题:不再sudoers文件中,此事将不做被报告 系统:win8.1 +cents 7 问题:在虚拟机中,默认不是root账号,在使用sudo命令时候收到下面警告: sudo命令含义:使用sudo命令的账号,拥有root账号的权限来执行某些命令或者程序,但不是所有的帐号都可以使用sudo命令,我们要做的就是切换到root账号,用root身份来修改和管理文件,這个文件是 /etc/sudoers. 执行命令: 找到到如下行,用vim编辑此文档添加自己的账号,你本linux的用户名,

UIButton中的**EdgeInsets是做什么用的?

UIButton中的**EdgeInsets是做什么用的? UIEdgeInsetsMake Creates an edge inset for a button or view.An inset is a margin around the drawing rectangle where each side (left, right, top, and bottom) can have a different value. 给一个button或者view创建一个嵌入的边缘. inset是一个矩

Scala深入浅出实战经典《第87讲:Scala中使用For表达式做查询》笔记

如知其非义,斯速已矣! 第87讲:Scala中使用For表达式做查询 Goal: For表达式做查询 Gains: for循环的应用 自定义一种类型,根据这种类型创建了一个List数组 针对数组中的内容,利用for循环可以进行相关的查询 More: 使用for循环来做查询~ ------------------------------------------------------------------------------------ 信息来源于 DT大数据梦工厂微信公众账号:DT_Spa

Scala中使用For表达式做查询

学习了Scala中使用For表达式做查询,很多编程中对数据库.文件.网络数据进行查询,应用for表达循环匹配,例子如下: Case calss Book (title:String, authors:List[tring]) Object For_Query { Def main(args:Array[String]) { Val books : List[Book]=List( Book(“Structure and Interpretation”, List(“Abelson,Harold”

又帮中山水牛城朋友做义务劳工了

又帮中山水牛城朋友做义务劳工了,“被逼”的给妹纸做劳工,帮她拍摄中山水牛城中南服饰的外墙,说什么我的红米note手机够清晰,说她的iphone4s拍照太垃圾了,汗,我心想,你是不是倒转了说法呢,我靠,当然这个不能说出来的,说公司的业务需要,看来要想法子叫她给“加班费”才行. 始终对比与对面的四季青服装城,有点感觉中山水牛城有点抵挡呢.

锐浪 报表, 交叉报表中 对交叉字段,做条件改变背景颜色 .

var fieldCount = Report.RunningDetailGrid.ColumnContent.ContentCells.Count; // 总字段列数 var lockFieldCount = Report.DetailGrid.CrossTab.ListCols; // 锁定字段列数 var crossFieldCount = fieldCount - lockFieldCount; for(var colIndex = 1; colIndex <=crossFieldCou

C#中如何防止Excel做科学计算法转换

C#中如何防止Excel做科学计算法转换  string style = @"<style>.text{mso-number-format:\@;}</style>";//注意这是样式,不需要修改可直接使用 Response.Clear();            Response.Buffer = true; Response.Charset = "utf-8";            Response.AppendHeader("

SQL 中的 EXISTS 到底做了什么?

本文中提到的所有数据表基于王珊<数据库系统概论(第4版)>. 个人认为 SQL 中的 EXISTS 关键字对于初学者来说是比较难理解的一个,尤其是多个 EXISTS 子句的嵌套.我就写篇小文章,来简单地来解释下 EXISTS 到底做了些什么. 我们先从 SQL 中最基础的 WHERE 子句开始. 比如下面这条 SQL 语句: 很显然,在执行这条 SQL 语句的时候,DBMS 会扫描 Student 表中的每一条记录,然后把符合 Sdept = 'IS' 这个条件的所有记录筛选出来,并放到结果集

PMO在组织中实现价值应做的工作

PMO在组织中实现价值应做的工作 研发人员及项目经理常常对PMO有反感情绪,认为其不熟悉业务流程与技术.经常要求项目经理和研发人员提交形式化的材料,只审批和监控,不能为项目提供良好的服务.在很多企业,公司领导层认为PMO人员做事务性工作,只是消耗成本的管理部门,不能创造效益.一方面与研发人员观念有关,同时很重要的是PMO人员没有树立良好的服务意识,提供自己的产品,实现PMO的价值.笔者认为,PMO如果树立在管理中树立服务意识,明确自己提供的产品与服务,通过建立组织级项目管理体系,可为企业的发展创