How to return user back to the page where he came from, after successful logout?
How to return user back to the page where he came from, after successful logout? My logout function looks like that.
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_AGEN开发者_如何学运维T']);
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: ????");
}
When you load all your views you can append the current URL to the logout link
logout.php?return=/page/param
Then when you logout, you can check $_GET['return']
and redirect there.
You could fall back on $_SERVER['HTTP_REFERER']
(because it can be edited), and finally on failure just redirect to your home page.
It's not perfect but you can use $_SERVER['HTTP_REFERER']
to get the page URI from where the user clicked on the "logout" link.
精彩评论