热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php登录后返回登录前页面功能实现!

在我的站点中有一个搜索页,搜索功能是用POST传递关键字,现在用户搜索关键字“电影”,获得搜索结果后,点击了此页面中的登录连接,登录成功后,我是用JS语句:window.history.go(-1);
在我的站点中有一个搜索页,搜索功能是用POST传递关键字,现在用户搜索关键字“电影”,获得搜索结果后,点击了此页面中的登录连接,登录成功后,我是用JS语句:window.history.go(-1);window.location.reload()返回登录前页面,但这时候页面会提示: 

若要再次显示该网页,web浏览器需要重新改善您以前提交的信息,如果您正在交易,应单击“取消”避免重复交易,否则,请单击“重试”再次显示该网页。

这个提示影响用户体验,如何解决这个问题呢?在其他页面中都正常。

16 个解决方案

#1


history.go(-1)或者history.back()这两个js的方法就能实现,也可以通过$_SERVER['referer']存储来实现

#2



用php 的header来跳转吧

header('Location: http://www.example.com/');

另外用js

window.history.go(-2);window.location.reload()
看看行不.

#3


那是因为你用表单了把

#4


当调用登陆的那个页面的时候就记录上个页面的COOKIE
然后登陆完成以后跳转COOKIE

#5


就用window.history.back()就可以了,不要那么复杂

#6


最简单的办法就是把你的“搜索页”改造成用 GET 方式提交。


————————————————————————————————
基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具, 分享给大家,欢迎 技术交流 :)

#7


造成现在这种情况的原因是因为你的提交方式为POST提交
有这样一个办法:
在登录成功的页面中用$_SERVER['HTTP_REFERER']获取到来源的页面地址,然后header跳转至该页面即可

//登录成功后,需要跳转
$src_page = $_SERVER['HTTP_REFERER'];
header("location:".$src_page);

#8


GET方式提交可能会暴露密码

#9


这些方法都不行啊,用JS的history.back()会跳到搜索页的上一页,也就是丢失了用户的搜索结果,而且如果是首页的话,这样会跳转到其他网站页面上去,比如我打开我的IE进入主页:www.xx.com,然后再输入loclhost/index.php进入我的站点,然后登录,这样的话,会跳转到www.xx.com,这不是很可笑?

history.go(-2)也是一样,至于一楼的$_SERVER['referer']方法我没测试,因为我是用的ajax,也就是js,不懂怎么使用PHP方法。还望高人指点。

#10


Window history back()没用么。简单又实惠

#11


搜索完,将你搜索的值绑定,之后传回来就可以的。

#12


再说一次, 把搜索页改造成以 GET 方式提交关键词

凡是以 POST 方式获得的页面,当用 history back 回到这个页面的时候,浏览器都会提醒是否重新提交 FORM 数据,用 GET 方式就没这个问题。

至于说 GET 泄漏密码,是有这个问题,但搜索页不会有什么密码。

另外, 不要用 JS 来处理“返回到登录前的页面”。应该是在点击“登录”链接的时候,把当前页面的 URL 携带过去(或者通过 $_SERVER['referer']),等登录验证成功后,用 header('Location: ...') 跳转过去。

--------
With sufficient thrust, pigs fly just fine. However, this is not necessarily a good idea. It is
hard to be sure where they are going to land, and it could be dangerous sitting under them as they
fly overhead.
出自  RFC1925 - The Twelve Networking Truths

————————————————————————————————
基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具,分享给大家,欢迎技术交流 :)

#13


引用 9 楼 doraprince 的回复:
这些方法都不行啊,用JS的history.back()会跳到搜索页的上一页,也就是丢失了用户的搜索结果,而且如果是首页的话,这样会跳转到其他网站页面上去,比如我打开我的IE进入主页:www.xx.com,然后再输入loclhost/index.php进入我的站点,然后登录,这样的话,会跳转到www.xx.com,这不是很可笑?
history.go(-2)也是一样,至于一楼的$_SERVER['referer']方法我没测试, 因为我是用的ajax,也就是js,不懂怎么使用PHP方法。还望高人指点。

刚注意到这个说法。啥意思啊?你的“登录”不是一个独立的页面,而是用 AJAX 在当前页面里弹出对话框来完成,是吗?如果是这样的话,所谓“登录前的页面”,就是“当前页面”啊,那就别 history back 什么的了,只要 window.location.reload() 就够了,唯一需要做的就是把“当前页面”改造成用 GET 方式获取。


————————————————————————————————
基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具, 分享给大家,欢迎 技术交流 :)

#14


很感谢各位前辈的热心指点,现在决定把表单改造成用GET方式提交来完成搜索,之前也是因为看到别人说GET方式不太安全才决定要用POST的,谁知道现在又碰到这个问题。还是用回GET吧,

#15


引用 14 楼 doraprince 的回复:
很感谢各位前辈的热心指点,现在决定把表单改造成用GET方式提交来完成搜索,之前也是因为看到别人说GET方式不太安全才决定要用POST的,谁知道现在又碰到这个问题。还是用回GET吧,


不安全 要说不安全 都不安全。要安全都安全.

#16


引用 14 楼 doraprince 的回复:
很感谢各位前辈的热心指点,现在决定把表单改造成用GET方式提交来完成搜索,之前也是因为看到别人说GET方式不太安全才决定要用POST的,谁知道现在又碰到这个问题。还是用回GET吧,

也好,来回多折腾几次,也就都弄明白了  ^_^

所谓安全不安全,不是简单地给一个结论就完了。如果谁说 GET 不安全,那要讲清楚为什么不安全,在什么情况下不安全,然后你再看你自己的应用场景是不是符合他说的情况。


————————————————————————————————
基于CSDN论坛提供的插件扩展功能,自己做了个签名档工具, 分享给大家,欢迎 技术交流 :)

推荐阅读
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 本文介绍了pack布局管理器在Perl/Tk中的使用方法及注意事项。通过调用pack()方法,可以控制部件在显示窗口中的位置和大小。同时,本文还提到了在使用pack布局管理器时,应注意将部件分组以便在水平和垂直方向上进行堆放。此外,还介绍了使用Frame部件或Toplevel部件来组织部件在窗口内的方法。最后,本文强调了在使用pack布局管理器时,应避免在中间切换到grid布局管理器,以免造成混乱。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • PHP图片截取方法及应用实例
    本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 从零基础到精通的前台学习路线
    随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
  • 本文详细介绍了Android中的坐标系以及与View相关的方法。首先介绍了Android坐标系和视图坐标系的概念,并通过图示进行了解释。接着提到了View的大小可以超过手机屏幕,并且只有在手机屏幕内才能看到。最后,作者表示将在后续文章中继续探讨与View相关的内容。 ... [详细]
  • 本文介绍了Java高并发程序设计中线程安全的概念与synchronized关键字的使用。通过一个计数器的例子,演示了多线程同时对变量进行累加操作时可能出现的问题。最终值会小于预期的原因是因为两个线程同时对变量进行写入时,其中一个线程的结果会覆盖另一个线程的结果。为了解决这个问题,可以使用synchronized关键字来保证线程安全。 ... [详细]
author-avatar
顾玉妙
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有