Задать вопрос
@MaximBz

Старые данные в переменных сессии php, почему не обновляются?

Здравствуйте, имеются проблемы с переменными сессии php.

Структура следующая:
- conn.php (подключение к БД и глобальные переменные);
- index.php (форма с вводом данных POST, и перенос данных в переменные сессии или удаление файлов из сессии);
- page1.php;
- page2.php;
- page3.php.

На страницах page1-3 вывожу данные из БД на основании данных пользователя из сессии. Но выглядит сейчас так, что после того как я прошелся по все страницах как Пользователь1, после чего вылогинился и вошел как Пользователь2, но на страницах page2 и page3 выводятся старые данные Пользовтеля1, в сессии хранятся его данные, и обновляются только после обновления страницы.

На страницах page1-3 пользуюсь данными из сессии $user=$_SESSION["user"];
При выходе из системы удаляю данные сессии (переменные и сессию), пытался уже максимально все очистить:

$_SESSION["user"] = '';
unset($_SESSION['user']);
...
if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params();
setcookie(session_name(), '', time() - 42000,
$params["path"], $params["domain"],
$params["secure"], $params["httponly"]
);
}
...
session_write_close();
setcookie(session_name(),'',0,'/');
session_unset();
session_destroy();

При логине создаю новую сессию:
session_start();
session_regenerate_id(true);

со всем этим при выходе из аккаунта , на странице index.php (перенаправление после выхода) логи показывают что сессия пуста, ничего нет. Но, как и описал проблему, на страницах page данные в сессии старые.

Я понимаю что проблема может быть не только в очистке данных сессии, но и с подключением сессии в файлах? Везде начинаю файл с session_start() и 'require con.php', в require con.php так же подключаю сессию и записываю данные из сессии в переменные. Возможна ли коллизия сессий, или что-то другое – в чем может быть проблема, как их избежать?
  • Вопрос задан
  • 257 просмотров
Подписаться 1 Простой 12 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы