У меня возникают проблемы с моим скриптом сеанса. Я включаю этот файл вызова functions.php в каждом файле, в котором мне нужен сеанс.
<?php session_start(); { if(isset($_SESSION['username']) && !empty($_SESSION['username'])) { return true; } else { return false; } } ?>
И затем я использую этот файл для выхода из системы. Вызывается logout.php
<?php include('functions.php'); session_destroy(); // We redirect them to the login page header("Location: homepage.php"); die("Redirecting to: homepage.php"); ?>
в<?php include('functions.php'); session_destroy(); // We redirect them to the login page header("Location: homepage.php"); die("Redirecting to: homepage.php"); ?>
Может ли кто-нибудь помочь мне исправить это, чтобы, когда пользователь нажимает ссылку на выход, они не могут вернуться в область участников и снова войти в систему.
Хорошо, я предполагаю, что проблема в этом: вы просто уничтожаете сессию в logout.php, но не очищаете переменные сеанса. Пожалуйста, ознакомьтесь с документацией ,
Что произошло в вашем случае, когда вы возвращаетесь на домашнюю страницу, вы перезапускаете сеанс, поэтому вы сможете получить доступ к $_SESSION['username']
так как вы не очистили переменную и вы вошли в систему.
Решение проблемы
<?php include('functions.php'); session_unset(); // need to be called before session_destroy() session_destroy(); // We redirect them to the login page header("Location: homepage.php"); die("Redirecting to: homepage.php"); ?>
в<?php include('functions.php'); session_unset(); // need to be called before session_destroy() session_destroy(); // We redirect them to the login page header("Location: homepage.php"); die("Redirecting to: homepage.php"); ?>
или вы можете просто очистить $_SESSION['username']
в скрипте logout.php, и вам не обязательно вообще нужно уничтожать сеанс.
Надеюсь это поможет
Вполне вероятно, что кеш браузеров отображает страницу, если вы выходите из системы, очищаете кеш и затем нажимаете обратно, он все равно делает то же самое?
Я нашел предыдущий вопрос, который может вам помочь: Остановить кнопку «Назад» от раскрытия защищенных страниц?