Значение сеанса сохраняется даже после сброса значения PHP

0

У меня проблема с сбросом значения переменной сеанса в PHP.

Я очистил все куки файлы браузера и кеш и загрузил страницу. Контроллер страницы вызывается, где записывается следующий код:

if(isset($_SESSION['event_generic_sequence'])){
        unset($_SESSION['event_generic_sequence']);
}
$_SESSION['event_generic_sequence'] = array();

Эти контроллеры вызывают функцию в файле класса, где он проверяет, установлен ли сеанс, а затем добавляется значение для сеанса:

$_SESSION['event_generic_sequence'][] = $image_name;

В конце контроллера, если значение сеанса напечатано, я получаю массив из 4 значений. Таким образом, подсчет массива равен 4:

[event_generic_sequence] => Array
    (
        [0] => 505_c.jpg
        [1] => 505_c-1.jpg
        [2] => 505_c-2.jpg
        [3] => 505_c-3.jpg
    )

Когда я перезагружаю страницу. Контроллер получает вызов, а значение сеанса устанавливается в пустой массив. Но в файле класса, если я печатаю значение сеанса. Он показывает предыдущее значение сеанса. Почему файл класса не получает текущее значение сеанса, и значение сеанса похоже кэшировано?

Если я очистил cookie браузера и кеш, значение сеанса пустое и работает нормально. Но если я не последнее значение сессии сохраняются.

  • 0
    Пожалуйста, предоставьте еще немного кода / информации.
Теги:
codeigniter
session

1 ответ

0

Вы можете использовать session_start(); для запуска сеанса и session_destroy(); для уничтожения сеанса еще установите сеанс этой конкретной переменной в значение null или empty.

  • 0
    session_start () используется на странице индекса при запуске. Я не могу использовать это в файле класса снова. Дает уведомление "Сессия уже началась". Я не хочу разрушать всю сессию. Просто хочу сбросить конкретную переменную.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню