Как вернуть пользователя обратно на страницу, с которой он пришел, после успешного выхода? - PullRequest
1 голос
/ 31 августа 2011

Как вернуть пользователя обратно на страницу, с которой он пришел, после успешного выхода?Моя функция выхода из системы выглядит следующим образом.

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 ]

1 голос
/ 31 августа 2011

Когда вы загружаете все свои просмотры, вы можете добавить текущий URL к ссылке выхода из системы

logout.php?return=/page/param

Затем, когда вы выйдете из системы, вы можете проверить $_GET['return'] и перенаправить туда.

Вы можете вернуться к $_SERVER['HTTP_REFERER'] (потому что его можно отредактировать) и, в конце концов, при ошибке просто перенаправить на свою домашнюю страницу.

0 голосов
/ 31 августа 2011

Это не идеально, но вы можете использовать $_SERVER['HTTP_REFERER'], чтобы получить URI страницы, с которого пользователь нажал на ссылку «Выйти».

...