在很多网站用户先访问一个要登录的页面,但当时没有登录后来登录了,等待用户登录成功之后肯定希望返回到上次访问的页面,下面我就来给大家介绍登录后跳转回原来要访问的页面实例
最简单的办法就是直接使用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搞定
|
|
|
|