成功退出后,如何将用户返回到他来自的页面?

时间:2011-08-31 08:11:19

标签: php session cookies logout

成功注销后,如何将用户返回到他来自的页面? 我的注销功能看起来就是这样。

function logout()
{
global $db;
session_start();

if(isset($_SESSION['id']) || isset($_COOKIE['id'])) {
$db->query("update `users` 
            set `ckey`= '', `ctime`= '' 
            where `id`='$_SESSION[id]' OR  `id` = '$_COOKIE[id]'") or die($db->error);
}           

/************ Delete the sessions****************/
unset($_SESSION['id']);
unset($_SESSION['login']);
unset($_SESSION['level']);
unset($_SESSION['HTTP_USER_AGENT']);
session_unset();
session_destroy(); 

/* Delete the cookies*******************/
setcookie("id", '', time()-60*60*24*COOKIE_TIME_OUT, "/");
setcookie("login", '', time()-60*60*24*COOKIE_TIME_OUT, "/");
setcookie("key", '', time()-60*60*24*COOKIE_TIME_OUT, "/");

header("Location: ????");
}

2 个答案:

答案 0 :(得分:1)

加载所有视图后,您可以将当前网址附加到注销链接

logout.php?return=/page/param

然后当您退出时,您可以检查$_GET['return']并重定向。

你可以回到$_SERVER['HTTP_REFERER'](因为它可以被编辑),最后失败时只需重定向到你的主页。

答案 1 :(得分:0)

这不完美,但您可以使用$_SERVER['HTTP_REFERER']从用户点击“退出”链接的位置获取页面URI。