解决PHP获取上一页的URL地址时丢失session

很多系统中都应用了session保存客户的信息,在操作每个页面的时候都对客户的状态进行判断,如果不存在session的值,就跳转到登入页面.

问题出现了:如果客户重新登入后能跳转到上一个正在编辑的页面那就最好了.

上网搜集了一些资料发现一般都是在URL后面带上上一页面的地址,然后在跳转回去.

思路是一样的,在当前页面获取上一页的url然后保存在session中,如果从session中能取到赋值,就跳转到上一页,如果没有就跳转到登入后的后页.

具体代码如下: 在处理session跳转的页面加入如下代码,一般都是包含的头部文件.如果不存在的话就跳转到login.php页面

<?php   
if(!isset($_SESSION['admin_loginname'])){   
//获得上一个页面的URL   
$_SESSION['prev_url'] = $_SERVER['HTTP_REFERER'];   
//echo $_SESSION['prev_url'];   
include("login.php"); 
include("backend-footer.php");   
exit(0);   
}  
?>

在login.php登录成功后的页面加入

<?php   
//增加了跳转到前一个页面的   
if($_SESSION['prev_url']){   
    $prev_url = $_SESSION['prev_url'];   
    unset($_SESSION['prev_url']);   //清空session中的值,原理跟get方式获取上一页面一样
    header("Location: ".$prev_url);    
}else{   
    header("Location: index.php");         
}
?>

One Response to “解决PHP获取上一页的URL地址时丢失session”

Leave a Reply

(will not be published)