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 相关文章推荐
将PHP作为Shell脚本语言使用
Oct 09 PHP
无限级别菜单的实现
Oct 09 PHP
NOD32 v2.70.32 简体中文封装版 提供下载了
Feb 27 PHP
joomla内置的表单验证功能使用方法
Jun 11 PHP
php使用异或实现的加密解密实例
Sep 04 PHP
thinkphp的URL路由规则与配置实例
Nov 26 PHP
php实现mysql备份恢复分卷处理的方法
Dec 26 PHP
举例讲解PHP面对对象编程的多态
Aug 12 PHP
100多行PHP代码实现socks5代理服务器[2]
May 05 PHP
php微信公众号开发(4)php实现自定义关键字回复
Dec 15 PHP
PHP中OpenSSL加密问题整理
Dec 14 PHP
php的对象传值与引用传值代码实例讲解
Feb 26 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 动态生成静态HTML页面示例代码
2014/01/15 PHP
PHP中iconv函数转码时截断字符问题的解决方法
2015/01/21 PHP
帝国cms目录结构分享
2015/07/06 PHP
php检查页面是否被百度收录
2015/10/28 PHP
PHP编程实现的TCP服务端和客户端功能示例
2018/04/13 PHP
php实现微信公众号企业转账功能
2018/10/01 PHP
jQuery validate 中文API 附validate.js中文api手册
2010/07/31 Javascript
Textarea与懒惰渲染实现代码
2012/01/04 Javascript
jQuery 无限级菜单的简单实例
2014/02/21 Javascript
JS替换字符串中字符即替换全部而不是第一个
2014/06/04 Javascript
Egret引擎开发指南之运行项目
2014/09/03 Javascript
jQuery中contents()方法用法实例
2015/01/08 Javascript
ExtJs动态生成treepanel的Json格式
2015/07/19 Javascript
Node.js的Web模板引擎ejs的入门使用教程
2016/06/06 Javascript
常用的javascript设计模式
2017/01/11 Javascript
深入理解javascript prototype的相关知识
2019/09/19 Javascript
jquery将json转为数据字典的实例代码
2019/10/11 jQuery
jQuery实现简易QQ聊天框
2020/02/10 jQuery
Javascript ParentNode和ChildNode接口原理解析
2020/03/16 Javascript
javascript实现滚轮轮播图片
2020/12/13 Javascript
Javascript 模拟mvc实现点餐程序案例详解
2020/12/24 Javascript
python实现逆波兰计算表达式实例详解
2015/05/06 Python
浅析python继承与多重继承
2018/09/13 Python
Python3多目标赋值及共享引用注意事项
2019/05/27 Python
使用PyOpenGL绘制三维坐标系实例
2019/12/24 Python
想学画画?python满足你!
2020/12/24 Python
Django权限控制的使用
2021/01/07 Python
canvas 实现 github404动态效果的示例代码
2017/11/15 HTML / CSS
新西兰领先的内衣店:Bendon Lingerie新西兰
2018/07/11 全球购物
Structs界面控制层技术
2013/10/11 面试题
幼师专业求职推荐信
2013/11/08 职场文书
医学检验专业个人求职信范文
2013/12/04 职场文书
团日活动策划书
2014/02/01 职场文书
会计电算化大学生职业规划书
2014/02/05 职场文书
小学班长竞选演讲稿
2014/04/24 职场文书
社团活动总结报告
2014/06/27 职场文书