Я пишу сценарий, который должен завершить сеанс для пользователя, и вывести их из системы, возвращая их на страницу входа в систему.Завершение сеанса, сброс переменных не работает?
Мой выход из сценария выглядит следующим образом:
<?php
$_SESSION['signin'] = null;
session_destroy();
header("Location: /test/index.php");
?>
Сначала я сбросить signin
переменную таким образом, даже если сессия не разрушила переменной должно быть, по крайней мере изменилась таким образом, что система считает, что пользователь вошел в систему вне.
И в верхней части моей страницы входа у меня есть условие, чтобы переслать их на домашнюю страницу, если они уже вошли в систему, таким образом, что вы не можете посетить страницу входа в систему после того, как вы уже вошли в систему. Эта часть выглядит это:
<?php
session_start();
if($_SESSION['signin'] == 5)
{
header("Location: /test/home.php");
}
?>
Короче говоря, когда кто-то вошел в систему, и нажимает на ссылку, чтобы выйти из системы он использует первый блок кода, чтобы выйти из системы, а затем перенаправляется на страницу, содержащую второй blcok кода.
Однако эта страница по-прежнему пересылает меня на домашнюю страницу, полагая, что пользователь все еще подписан, и поэтому я предполагаю, что переменная signin не была сброшена.
Мысли о том, как решить мою проблему?
Я думаю, что проблема в том, что вы не записываете выход, после header(); Проверьте значение сеанса, используя что-то вроде 'var_dump'; – pomaxa