如何在成功登出后将用户返回到他来自的页面?我的注销函数是这样的。
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。