php中登录后跳转回原来要访问的页面实例
在很多网站用户先访问一个要登录的页面,但当时没有登录后来登录了,等待用户登录成功之后肯定希望返回到上次访问的页面,下面我就来给大家介绍登录后跳转回原来要访问的页面实例,最简单的办法就是直接使用 php $_SERVER['HTTP_REFERER']
如果我在A.php页面要登录,现在跳到B.php页面,我们只要在b.php中加如下代码:
$url = $_SERVER['HTTP_REFERER']; header("location:$url");
但是上面的办法会有很多不足,如带参数等等,但在IE浏览器下的话,假如你是通过js的location来跳转的话,那这个值是获取不到的.
下面我做一个全面点的,首先创建一个方法判断是否登录,如果没登录则
protected function checkLogin() { if (没有登录){ $thisurl = "http://".$_SERVER["HTTP_HOST"].$_SERVER['PHP_SELF'];//当前URL $thisurl = urlencode($thisurl);//这里要注意需要把获取到的url转码,不然后面不好传递URL redirect("http://".$_SERVER["HTTP_HOST"]."/cityosweb/default.php/Index/login?url=".$thisurl); } }
然后在需要登录的才能反问的页面调用这个方法,代码如下:$this->checkLogin();,这样如果你没有登录则跳转到登录页面,并带上了你之前页面的url:然后获取URL提交登录,代码如下:
public function login() { $url = $_GET['url']; $this->assign('url',$url); $this->assign('title','Login'); $this->display('user/reg_new.html'); }
模板上获取到url后提交到php后台,登录后跳转到这个url ok搞定..
文章链接:http://www.phprm.com/develop/fs1103.html
随便收藏,请保留本文地址!