php如何实现登陆后返回原页面
举个例子,share_bord.php是分享区页面,源代码中有以下代码用于检测用户是否登陆$passed=$_COOKIE{"passed"};//如果cookie中的p...
举个例子,share_bord.php是分享区页面,源代码中有以下代码用于检测用户是否登陆
$passed = $_COOKIE{"passed"};
//如果 cookie 中的 passed 变量不等于 TRUE
//表示尚未登录网站,将用户定向首页 index.htm
if ($passed != "TRUE")
{
header("location:../index.htm");
exit();
}
未登录则跳转到index.htm登录,index.htm将数据提交到checkpwd.php进行登陆检验
如何实现登陆检验后会到share_bord.php这个页面 展开
$passed = $_COOKIE{"passed"};
//如果 cookie 中的 passed 变量不等于 TRUE
//表示尚未登录网站,将用户定向首页 index.htm
if ($passed != "TRUE")
{
header("location:../index.htm");
exit();
}
未登录则跳转到index.htm登录,index.htm将数据提交到checkpwd.php进行登陆检验
如何实现登陆检验后会到share_bord.php这个页面 展开
展开全部
访问网站页面时,有的页面需要授权才能访问,这时候就会要求用户登录,跳转到登录页面login.php,怎么实现登录后返回到刚才访问的页面
项目需求
访问网站页面时,有的页面需要授权才能访问,这时候就会要求用户登录,跳转到登录页面login.php,怎么实现登录后返回到刚才访问的页面。
解决思路1:
在跳转到登录页面之前要将当前访问页面的url保存到cookie里面,登录验证授权通过后,从cookie中取出这个url值,跳转到该 url指定的页面。
具体实现
我现在的程序是基于ThinkPHP框架的,我们会有一个父类控制器,下面我就把这个设置cookie的代码加到这个BaseAction里面的_initialize()函数中,这样程序就大大简化工作量了。
代码如下:
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 这个页面就可以了。
大致上我也就这两种思路了,如果你有更好的思路,真心希望你可以告诉我。
项目需求
访问网站页面时,有的页面需要授权才能访问,这时候就会要求用户登录,跳转到登录页面login.php,怎么实现登录后返回到刚才访问的页面。
解决思路1:
在跳转到登录页面之前要将当前访问页面的url保存到cookie里面,登录验证授权通过后,从cookie中取出这个url值,跳转到该 url指定的页面。
具体实现
我现在的程序是基于ThinkPHP框架的,我们会有一个父类控制器,下面我就把这个设置cookie的代码加到这个BaseAction里面的_initialize()函数中,这样程序就大大简化工作量了。
代码如下:
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 这个页面就可以了。
大致上我也就这两种思路了,如果你有更好的思路,真心希望你可以告诉我。
展开全部
----------------------------
share_bord.php页面
----------------------------
if ($passed != "TRUE")
{
header("location:../index.htm?ret=share_bord.php"); //将原页面地址传到登录页面
exit();
}
----------------------------
这是登录页面
----------------------------
//登录代码
.......
//登录成功后
$ret = $_GET['ret'];
header("location:" . $ret); //跳回原页面
share_bord.php页面
----------------------------
if ($passed != "TRUE")
{
header("location:../index.htm?ret=share_bord.php"); //将原页面地址传到登录页面
exit();
}
----------------------------
这是登录页面
----------------------------
//登录代码
.......
//登录成功后
$ret = $_GET['ret'];
header("location:" . $ret); //跳回原页面
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
header("location:../index.htm");到你要的页面
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询