Сессия корзины CI прервана из-за символа '\' - PullRequest
1 голос
/ 25 февраля 2012

У меня есть корзина CodeIgniter, которая хранит URL в массиве параметров.Проблема заключается в том, что при добавлении URL с символом «/» (например, www.website.com/page) корзина очищается, когда пользователь покидает страницу с содержимым корзины.Это поведение не зависит от браузера.

Вот как это выглядит в таблице ci_session после добавления элемента в корзину.

s:56:"{"aid":"111111","url":"www.testing.again.com\/whatisup"}"

Обратите внимание, что к URL добавлен escape-символ '\'.

Так как я могу это исправить?Моя первая мысль - сделать str_replace, чтобы заменить '/' на что-то другое, например, '|'и затем вставьте «/» обратно позже.Я подозреваю, что есть лучший способ сделать это.

Спасибо.

1 Ответ

0 голосов
/ 27 февраля 2012

Вы можете base64_encode, base64_decode кодировать / декодировать URL. Однако, если вы не используете db_session, это займет больше места в куки, что приведет вас к пределу в 5 КБ для хранения куки - так что имейте это в виду.

http://php.net/manual/en/function.base64-encode.php

...