如何在成功注销后将用户返回到他来自的页面


How to return user back to the page where he came from, after successful 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: ????");
}

当您加载所有视图时,您可以将当前URL附加到注销链接

logout.php?return=/page/param

登出时,您可以查看$_GET['return']并重定向到那里。

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

这并不完美,但您可以使用$_SERVER['HTTP_REFERER']从用户单击"注销"链接的地方获得页面URI。