codeigniter теряет сеанс из-за перенаправления, есть ли способ восстановить его?

У меня есть форма, в которой, помимо прочего, есть кнопка предварительного просмотра и кнопка отправки. Допустим, форма содержит данные человека. Нажатие на предварительный просмотр отправит форму на example.com/preview и откроет ее в новой вкладке. Контроллер предварительного просмотра вставит данные человека в таблицу и на основе значения LAST_INSERT_ID() перенаправит на example.com/person/ID. Когда происходит перенаправление, все данные сеанса теряются. Я хочу иметь возможность сохранять данные сеанса, чтобы после проверки страницы example.com/person/ID пользователь-администратор мог закрыть ее и внести некоторые изменения в форму или отправить ее.

Я заметил, что сохранение идентификатора сеанса в элементе flashdata не будет работать, он не пройдет перенаправление. Кроме того, если мне каким-то образом удастся получить session_id после перенаправления (хотя добавление его в URL-адрес - это не то, чего хочет мой клиент), я все еще не знаю, как восстановить сеанс Codeigniter с ним. Другой вариант, который я рассмотрел, - это использование класса Codeigniter Native Session, но версия, которую я нашел на сайте, не предназначена для Codeigniter 2.0.0.3, и я боюсь, что ее использование может что-то сломать.

Любые советы очень ценятся.


person Valentin Brasso    schedule 07.11.2011    source источник
comment
во-первых, вы не должны сохранять свои данные при предварительном просмотре, во-вторых, вы должны лучше объяснить, где проблема и какой код вы используете   -  person user973254    schedule 09.11.2011


Ответы (1)


Решение состояло в том, чтобы изменить сопоставление полей таблицы базы данных ci_sessions на utf8_general_ci (по умолчанию было latin1_swedish_ci)

person Valentin Brasso    schedule 09.11.2011