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 相关文章推荐
建立动态的WML站点(三)
Oct 09 PHP
一个连接两个不同MYSQL数据库的PHP程序
Oct 09 PHP
如何解决CI框架的Disallowed Key Characters错误提示
Jul 05 PHP
测试php连接mysql是否成功的代码分享
Jan 24 PHP
PHP图片库imagemagick安装方法
Sep 23 PHP
PHP操作MySQL事务实例
Nov 05 PHP
YII Framework框架教程之安全方案详解
Mar 14 PHP
[原创]php简单隔行变色功能实现代码
Jul 09 PHP
thinkPHP js文件中U方法不被解析问题的解决方法
Dec 05 PHP
PHP递归遍历文件夹去除注释并压缩php源代码的方法示例
May 23 PHP
PHP+redis实现的悲观锁机制示例
Jun 12 PHP
Yii框架where查询用法实例分析
Oct 22 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
使用GROUP BY的时候如何统计记录条数 COUNT(*) DISTINCT
2011/04/23 PHP
php中smarty模板条件判断用法实例
2015/06/11 PHP
PHP合并数组函数array_merge用法分析
2017/02/17 PHP
PHP实现笛卡尔积算法的实例讲解
2019/12/22 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
2020/02/23 PHP
jquery 图片轮换效果
2010/07/29 Javascript
关于extjs treepanel复选框选中父节点与子节点的问题
2013/04/02 Javascript
jQuery中:empty选择器用法实例
2014/12/30 Javascript
jQuery使用元素属性attr赋值详解
2015/02/27 Javascript
微信小程序 less文件编译成wxss文件实现办法
2016/12/05 Javascript
Angular在一个页面中使用两个ng-app的方法(二)
2017/02/20 Javascript
javascript遍历json对象的key和任意js对象属性实例
2017/03/09 Javascript
node.js连接MongoDB数据库的2种方法教程
2017/05/17 Javascript
详解Angular路由 ng-route和ui-router的区别
2017/05/22 Javascript
详解Vue2.x-directive的学习笔记
2017/07/17 Javascript
Vue-cli中为单独页面设置背景色的实现方法
2018/02/11 Javascript
vue下的@change事件的实现
2019/10/25 Javascript
JavaScript内置对象之Array的使用小结
2020/05/12 Javascript
微信小程序转化为uni-app项目的方法示例
2020/05/22 Javascript
Python实现程序的单一实例用法分析
2015/06/03 Python
windows下安装Python和pip终极图文教程
2017/03/05 Python
Django 跨域请求处理的示例代码
2018/05/02 Python
python smtplib发送带附件邮件小程序
2018/05/22 Python
Python+selenium实现自动循环扔QQ邮箱漂流瓶
2018/05/29 Python
pyqt5的QComboBox 使用模板的具体方法
2018/09/06 Python
护理职业应聘自荐书
2013/09/29 职场文书
人事助理自荐信
2014/02/02 职场文书
给老婆大人的检讨书
2014/02/24 职场文书
《跨越海峡的生命桥》教学反思
2014/02/24 职场文书
企业演讲稿范文大全
2014/05/20 职场文书
审美与表现自我评价
2015/03/09 职场文书
综合办公室岗位职责
2015/04/11 职场文书
培训学校2015年度工作总结
2015/07/20 职场文书
超越Nginx的Web服务器caddy优雅用法
2022/06/21 Servers
Python可视化神器pyecharts绘制地理图表
2022/07/07 Python
table不让td文字溢出操作方法
2022/12/24 HTML / CSS