2012-02-25 5 views
1

オプション配列にURLを格納するCodeIgniterカートがあります。問題は、 '/'(例:www.website.com/page)のURLを追加すると、ユーザーがカートの内容ページを離れるとカートが空になることです。この動作はブラウザに依存しません。CIのセッションが ''文字のために削除される

これは、アイテムがカートに追加された後のci_sessionテーブルの外観です。

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

「\」エスケープ文字がURLに追加されていることに注意してください。

どうすればこの問題を解決できますか?私の最初の考えはstr_replaceを使って '/'を '|'のようなものに変更することです後で '/'を戻してください。私はこれを行うより良い方法があると思う。

ありがとうございました。

+0

カートのURLは何ですか。通常はオブジェクトIDをカートに入れ、必要に応じて各項目のプロパティを取得します。 – Parrots

+0

URLは製品オプションです。シャツの色やサイズなどです。だから私は '援助'のようなユーザーからいくつかの情報を取得し、URLと時には電話番号と名前。これはすべてCIカートオプションアレイに入ります。 – Dave

+0

だから私はstr_escapeのアイデアを試して、それは動作しますが、これを行うよりエレガントな方法はありますか? – Dave

答えて

0

URLをエンコード/デコードするためにbase64_encode,とすることができます。ただし、db_sessionを使用していない場合は、クッキー内のスペースが多くなりすぎて、クッキーストレージの5 KBの制限に向かうことになります。

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

関連する問題