PHP 登录完成后如何跳转上一访问页面
2013-12-20 16:07
211 查看
项目需求
访问网站页面时,有的页面需要授权才能访问,这时候就会要求用户登录,跳转到登录页面login.php,怎么实现登录后返回到刚才访问的页面。
解决思路1:
在跳转到登录页面之前要将当前访问页面的url保存到cookie里面,登录验证授权通过后,从cookie中取出这个url值,跳转到该url指定的页面。
具体实现
我现在的程序是基于ThinkPHP框架的,我们会有一个父类控制器,下面我就把这个设置cookie的代码加到这个BaseAction里面的_initialize()函数中,这样程序就大大简化工作量了。
登录检测的函数里面我们加入:
现在这个$refer就是我们之前访问的页面,我们可以通过AJAX返回这个参数,然后进行跳转,或者直接使用程序进行跳转,具体要根据你程序的需求了。
解决思路2:
除了存成cookie的形式,相信大家也看到了很多大型网站直接采用GET的形式获得,Drupal的登陆机制就是这样。
这种思路具体是这样的:
在跳转到登录页面前要将访客访问的页面的url作为参数传递过去,登录验证后,授予访问权限之后跳转到该url指定的页面。
比如登录前的url为:openphp.html 当访客访问时,点击无权限,跳转到登录页面的地址就为login.php?url=openphp.html,这样在登录时就可以用GET方式获取该参数 openphp.html,登录验证成功后跳转到openphp.html 这个页面就可以了。
大致上我也就这两种思路了,如果你有更好的思路,真心希望你可以告诉我。
访问网站页面时,有的页面需要授权才能访问,这时候就会要求用户登录,跳转到登录页面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 登录完成后如何跳转上一访问页面
- PHP 登录完成后如何跳转上一访问页面
- PHP 登录完成后如何跳转上一访问页面
- 如何做登录后自动跳转到登录前要访问的页面
- PHP用户登录后跳转回上一访问页面的实现思路及代码
- 如何做登录后自动跳转到登录前要访问的页面
- 在jsp页面使用session来验证未经登录的访问 并完成直接跳转
- asp.net如何让未登录用户登录后能自动跳转到登录前访问的页面
- spring mvc怎么加入权限控制,在未登录前,任何访问url都跳转到login页面;登录成功后跳转至先前的url
- ajax Session失效如何跳转到登录页面
- 使用Shiro登录成功后,跳转到之前访问的页面实现
- 如何实现点击a标签当所要跳转的页面加载完成后在进行跳转
- springMVC 拦截器如何做登录检查及页面跳转
- PHP利用REFERER根居访问来地址进行页面跳转
- 如何一启动web程序,直接访问某个controller里的方法进而跳转页面
- nginx如何设置访问跳转到一个固定页面
- php页面跳转session cookie丢失,不能登录等问题解决方法
- java servlet 几种页面跳转的方法,需要的朋友可以参考一下 在访问网页的过程中,页面自动刷新、跳转和重定向是经常用到的,这里就说说在Java中是如何实现这些功能的! 一、页面自动刷新
- php 用户访问菜单页面,必须登录,判断用户是否登录