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

前端之家收集整理的这篇文章主要介绍了PHP 登录完成后如何跳转上一访问页面前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

项目需求


访问网站页面时,有的页面需要授权才能访问,这时候就会要求用户登录跳转登录页面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 这个页面就可以了。大致上我也就这两种思路了,如果你有更好的思路,真心希望你可以告诉我。

原文链接:https://www.f2er.com/php/25274.html

猜你在找的PHP相关文章