PHP 登录完成后如何跳转上一访问页面


Posted in PHP onJanuary 14, 2014

项目需求
 
访问网站页面时,有的页面需要授权才能访问,这时候就会要求用户登录,跳转到登录页面login.php,怎么实现登录后返回到刚才访问的页面。

解决思路1:
 
在跳转到登录页面之前要将当前访问页面的url保存到cookie里面,登录验证授权通过后,从cookie中取出这个url值,跳转到该url指定的页面。

具体实现
 
我现在的程序是基于ThinkPHP框架的,我们会有一个父类控制器,下面我就把这个设置cookie的代码加到这个BaseAction里面的_initialize()函数中,这样程序就大大简化工作量了。

$refer = 'http://' . $_SERVER ['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
Cookie::set('refer', $refer);

登录检测的函数里面我们加入:

$refer = Cookie::get('refer');

现在这个$refer就是我们之前访问的页面,我们可以通过AJAX返回这个参数,然后进行跳转,或者直接使用程序进行跳转,具体要根据你程序的需求了。

解决思路2:
 
除了存成cookie的形式,相信大家也看到了很多大型网站直接采用GET的形式获得,Drupal的登陆机制就是这样。
这种思路具体是这样的:
在跳转到登录页面前要将访客访问的页面的url作为参数传递过去,登录验证后,授予访问权限之后跳转到该url指定的页面。
比如登录前的url为:openphp.html 当访客访问时,点击无权限,跳转到登录页面的地址就为login.php?url=openphp.html,这样在登录时就可以用GET方式获取该参数 openphp.html,登录验证成功后跳转到openphp.html 这个页面就可以了。

大致上我也就这两种思路了,如果你有更好的思路,真心希望你可以告诉我。

PHP 相关文章推荐
最小化数据传输――在客户端存储数据
Oct 09 PHP
smarty 原来也不过如此~~呵呵
Nov 25 PHP
Mysql中分页查询的两个解决方法比较
May 02 PHP
php导出csv数据在浏览器中输出提供下载或保存到文件的示例
Apr 24 PHP
PHP统计目录大小的自定义函数分享
Nov 18 PHP
为PHP5.4开启Zend OPCode缓存
Dec 26 PHP
php读取csv数据保存到数组的方法
Jan 03 PHP
PHP识别二维码的方法(php-zbarcode安装与使用)
Jul 07 PHP
php实现的http请求封装示例
Nov 08 PHP
PHP 获取 ping 时间的实现方法
Sep 29 PHP
PHP使用PDO抽象层获取查询结果的方法示例
May 10 PHP
laravel 时间格式转时间戳的例子
Oct 11 PHP
PHP四舍五入精确小数位及取整
Jan 14 #PHP
利用yahoo汇率接口实现实时汇率转换示例 汇率转换器
Jan 14 #PHP
php的一个简单加密解密代码
Jan 14 #PHP
PHP随机生成随机个数的字母组合示例
Jan 14 #PHP
php实现12306火车票余票查询和价格查询(12306火车票查询)
Jan 14 #PHP
php中filter函数验证、过滤用户输入的数据
Jan 13 #PHP
memcache命令启动参数中文解释
Jan 13 #PHP
You might like
PHP Class&Object -- 解析PHP实现二叉树
2013/06/25 PHP
PHP7匿名类用法分析
2016/09/26 PHP
爱恋千雪-US-AscII加密解密工具(网页加密)下载
2007/06/06 Javascript
5款Javascript颜色选择器
2009/10/25 Javascript
javascript 鼠标悬浮图片显示原图 移出鼠标后原图消失(多图)
2009/12/28 Javascript
js几秒以后倒计时跳转示例
2013/12/26 Javascript
js实现完全自定义可带多级目录的网页鼠标右键菜单方法
2015/02/28 Javascript
JavaScript知识点总结(十)之this关键字
2016/05/31 Javascript
AngularJS基础 ng-readonly 指令简单示例
2016/08/02 Javascript
JS锚点的设置与使用方法
2016/09/05 Javascript
Websocket协议详解及简单实例代码
2016/12/12 Javascript
详解10分钟学会vue滚动行为
2017/09/21 Javascript
利用JS测试目标网站的打开响应速度
2017/12/01 Javascript
vue-scroller记录滚动位置的示例代码
2018/01/17 Javascript
BootStrap modal实现拖拽功能
2018/12/01 Javascript
Vue中遍历数组的新方法实例详解
2019/07/21 Javascript
JS实现小米轮播图
2020/09/21 Javascript
python的正则表达式re模块的常用方法
2013/03/09 Python
ubuntu安装mysql pycharm sublime
2018/02/20 Python
利用Pandas 创建空的DataFrame方法
2018/04/08 Python
python实现百度语音识别api
2018/04/10 Python
PyTorch学习笔记之回归实战
2018/05/28 Python
python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码
2019/07/31 Python
对python中的os.getpid()和os.fork()函数详解
2019/08/08 Python
详解Python Celery和RabbitMQ实战教程
2021/01/20 Python
基于Python的接口自动化unittest测试框架和ddt数据驱动详解
2021/01/27 Python
python 制作本地应用搜索工具
2021/02/27 Python
CSS3之多背景background使用示例
2013/10/18 HTML / CSS
实例教程 一款纯css3实现的数字统计游戏
2014/11/10 HTML / CSS
澳大利亚最大的护发和护肤品购物网站:RY
2019/12/26 全球购物
业务内勤岗位职责
2014/04/30 职场文书
技校毕业生自荐信
2014/06/03 职场文书
HR求职自荐信范文
2014/06/21 职场文书
软弱涣散基层党组织整改方案
2014/10/25 职场文书
2014年社区计生工作总结
2014/11/18 职场文书
对外汉语教师推荐信
2015/03/27 职场文书