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

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

时间: 2024-09-13 03:12:19

PHP 登录完成后如何跳转上一访问页面的相关文章

iis7-iis发布网站,登录成功后不跳转

问题描述 iis发布网站,登录成功后不跳转 在iis发布网站后,,网站使用表单身份验证,网站登录后闪了一下不跳转到指定页面. 解决方案 是不是权限没有设置???

javascript-需要修改这串脚本,目前页面是login.html,输错三次密码后会跳转到nologin.html页面

问题描述 需要修改这串脚本,目前页面是login.html,输错三次密码后会跳转到nologin.html页面 需要修改这串脚本,目前页面是login.html,输错三次密码后会跳转到nologin.html页面,现在新增一个页面:wait.html.想达到的效果是一旦进入nologin.html,5分钟内进入login.html会自动跳转到wait.html,5分钟后进入login.html可以正常进入.cookie实现 var errCount = 0; function check() {

WordPress登录/退出后直接跳转回首页方法总结

首先定位到登录链接所在位置,你会看到类似下面的代码:  代码如下 复制代码 <a href="<?php echo wp_login_url(); ?>" title="登录">登录</a> 假如你要登录后重新进入首页:  代码如下 复制代码 <a href="<?php echo wp_login_url(home_url()); ?>" title="登录">登录

android入门-如何实现1点击进入App后进入欢迎页面,几秒钟后自动跳转到程序主页面

问题描述 如何实现1点击进入App后进入欢迎页面,几秒钟后自动跳转到程序主页面 刚开始学 希望 能得到相关方面的知识点..求个大神告诉我.我自己去找学习.度娘上也没找到 解决方案 http://bbs.9ria.com/thread-199604-1-1.html 解决方案二: http://blog.sina.com.cn/s/blog_6360bc1601011bxn.htmlhttp://tec.5lulu.com/detail/110ksn1e6l6zr8s1f.htmlhttp://w

sapnetvwer在服务器上访问页面没问题,在客户端访问页面链接和按钮失效。请高手解答

问题描述 这个问题困扰我两天了,希望高手能帮忙解答下 解决方案 解决方案二:什么情况,能否描述清楚些?解决方案三:这上面的连接点击之后没有反应,我的服务器上装的是sapnetwver和oracle数据库我远程桌面到服务器上打开浏览器打开访问页面之后.连接全都可用在我自己的电脑上打开访问页面之后连接点击没有反应解决方案四:该回复于2011-12-14 09:45:32被版主删除解决方案五:IE换了好几个了,IE8.360.火狐.遨游.都不行换了好几台电脑也不行,估计是服务器的问题解决方案六:试试看

asp.net做的登录后总是跳回登陆界面

问题描述 asp.net做的登录后总是跳回登陆界面 登录代码: <div id="loginButton"> <asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="images/login.gif" OnClick="ImageButton1_Click" /> <asp:ImageButton ID="

使用Shiro实现登录成功后跳转到之前的页面_java

这个问题是之前在做登录注册模块时遇到的需求,如何用户直接访问登录页面,可以控制直接跳到首页,但是如果是用户没有登录直接访问了购物车等需要经过身份认证的页面,或者是因为session超时,用户需要重新登录,那么这时跳回之前的页面就是提升用户体验的事情.实现此功能比较好的方法是用ajax的方式登陆,这样直接在当前页面弹窗让用户登录既可,二是把用户未登录前的url存在session中,login成功之后先检查session中是否存在这样的一个url.下面通过一段代码给大家分享下: 项目中集成了shir

android-新手求解,在登录页面判断登录成功后怎么在弹出框的“确定”实现跳转

问题描述 新手求解,在登录页面判断登录成功后怎么在弹出框的"确定"实现跳转 如图所示,不知道这个在哪里设置监听器,因为在 "判断输入的用户是否正确 "那边弹出框设置的,.setMessage("成功登录").setPositiveButton("确定",null).show();......之前class里边设置过监听器如ss,然后null就填ss,但好像不行,发现是两边没在一起.一个在class,一个在public Bool

setopt-用php的curl模拟登录后自动跳转问题

问题描述 用php的curl模拟登录后自动跳转问题 我在使用curl模拟登陆时,模拟登录成功了,但是成功之后总是会自动跳转到另一个页面,请问我怎样才能使它不自动跳转呢? $url = "http://class.sise.com.cn:7001/sise/login_check.jsp"; // 设置cookie保存路径 $cookie = dirname(__FILE__) . '/cookie_student.txt'; $curl = curl_init();//初始化curl模