最简单的办法就是直接使用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搞定
时间: 2024-09-16 06:12:29