У меня возникла очень странная проблема SESSION, я долгое время работаю с сессиями на своем сервере, и все работает нормально. Я искал & пробовал много изменений за 5 часов до публикации этого вопроса.Странная проблема SESSION на PHP
В любом случае, кажется, что $ _SESSION не обновляется правильно. У меня есть форма, использующая POST, которая переходит на ту же страницу, и когда пользователь отправляет информацию, сохраненную в $ _SESSION, а затем я делаю некоторые вещи и обновляю переменную сеанса. Все выглядит хорошо в причине страницы, когда я закончил. Я сохраняю сеанс с новыми переменными, а затем делаю var_dump ($ _ SESSION ["whatever"]); и он показывает обновленные данные. Но когда я снова отправлю форму с новыми настройками и покажу данные $ _SESSION на перезагруженной странице, это все еще старые данные.
Мой код рода сложный и я намного больше, чем просто сохранить данные, но я возобновлять ситуацию здесь:
session_start();
var_dump($_SESSION["whatever"]);
if(isset($_POST["whatever"])){
$_SESSION["whatever"]=$_POST["whatever"];
} else {
$_SESSION["whatever"] = FALSE;
}
var_dump($_SESSION["whatever"];
Итак, ниже var_dump действительно показывает новое значение, введенное в форма, это должно означать, что она была сохранена правильно, но нет! Потому что, когда я снова вхожу в форму, первый дамп var, который должен иметь то же значение, что и последний var_dump на предыдущей странице, по-прежнему показывает исходное значение (FALSE).
Любые идеи?
UPDATE: Даже если я иду на новую страницу и просто сделать это:
session_start();
var_dump($_SESSION["whatever"]);
Это показывает старые данные, а не обновленный один.
PS: Кстати, у меня есть много других переменных, которые не входят в этот оператор if/else, который корректно сохраняет, а сеанс обновляется со значений на другой предыдущей странице.
NEW UPDATE: Я использую jQuery для отображения формы со слайдерами и ручками, если я удалю jQuery, все работает хорошо! Это очень странно! Я не видел ничего подобного в Интернете, никаких идей?
Я уже отключил кэширование: S –
Вы случайно не экспериментировал с именованными сессий и забытого либо обновить все страницы, либо вернуть все изменения? – JoSSte
Вы проверили дисковое пространство на сервере? Я наблюдал подобную проблему, когда диск был заполнен. –