У меня проблема с удалением сеансов после выхода пользователя из сеанса. Например, Бен входит в систему, используя свое имя пользователя и пароль. После входа в систему на экране появляется надпись «Добро пожаловать, Бен». Теперь Бен выходит из системы и появляется экран, сообщающий, что выход был успешным.
Затем Лиза входит в систему, используя свое имя пользователя и пароль. После входа в систему появляется экран, однако на экране все равно написано «Добро пожаловать, Бен». Лиза обновляет страницу, и «Welcome Bem» теперь меняется на «Welcome Lisa». Таким образом, очевидно, что сессии не удаляются должным образом после выхода из системы. Мне просто интересно, может ли кто-нибудь помочь удалить куки после выхода из системы
Вот код, который я использую:
<?php
session_start();
$_SESSION['User']=" ";
$_SESSION['Name']=" ";
session_destroy();
header("Location: login.php"); // Redirecting To Home Page
?>
это может быть не удаление вашего куки. На вашей странице индекса используйте следующий код
header("Expires: Thu, 19 Nov 1981 08:52:00 GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
это может решить вашу проблему.
Вы можете попробовать установить сеанс пустым и сбросить сеанс следующим образом:
$_SESSION['User'] = '';
$_SESSION['Name'] = '';
unset($_SESSION['User']);
unset($_SESSION['Name']);
Однако одних unsets должно быть более чем достаточно.
Ваш готовый скрипт должен выглядеть примерно так:
<?php
session_start();
unset($_SESSION['User']);
unset($_SESSION['Name']);
header("Location: login.php");
// Redirecting To Home Page
?>
Попробуйте это работает:
logout.php
<?php
session_start();
unset($_SESSION["user"]);
header("location:login.php");
?>
Попробуй это…
<?php
if(isset($_SESSION['User']) AND isset($_SESSION['Name'])){
unset($_SESSION['User']);
unset($_SESSION['Name']);
header("Location: login.php");
}
else{
header("Location: login.php");
}
?>