Очищается сессия PHP после отправки любого POST запроса. Как исправить?
Здравствуйте!
Такая проблема, на сайте при любой отправке POST запроса на любую страницу и любого содержимого, после этого происходит полное очищение php сессии. Что такое может быть?
Веб сервер Nginx + PHP 7.4
Заранее спасибо!
Дополнительно:
Может обработчик не имеет session_start()? На каком движке написано, или ручная поделка?
test.php
<?php session_start(); echo session_id(); ?> |
<?php session_start(); echo session_id(); ?>
затем открой ссылку с этим файлом в браузере
site/test.php
он покажет идентификатор, если нажать F5 идентификатор должен остаться прежним, это значит где то в коде на сайте у тебя банально очищается идентификатор
если нет - значит какая то проблема в браузере или настройках php, с высокой вероятностью в логах ошибок веб сервера будет вся необходимая информация
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для очистки сессии PHP после отправки любого POST запроса, можно использовать следующий подход:
1. Создайте скрипт, который будет обрабатывать POST запросы и после их выполнения очищать сессию. Например, создайте файл clear_session.php.
2. Внутри файла clear_session.php добавьте следующий код:
session_start(); session_unset(); session_destroy();
3. Теперь необходимо включить этот скрипт в обработку POST запроса. Для этого в файле, который обрабатывает POST запросы (например, process_form.php), добавьте следующий код в начало файла:
include 'clear_session.php';
Таким образом, при каждой отправке POST запроса, сессия будет очищаться и данные будут сбрасываться. Это позволит избежать сохранения лишних данных в сессии и обеспечит более безопасную работу с данными.
Не забудьте также обработать возможные ошибки и исключения при работе с сессиями, чтобы избежать утечек данных или других проблем.