CI 购物车会话因“\”字符而被丢弃

问题描述 投票:0回答:1

我有一个 CodeIgniter 购物车,它在选项数组中存储 URL。问题是,当添加带有“/”的 URL(例如 www.website.com/page )时,当用户离开购物车内容页面时,购物车会被清空。此行为与浏览器无关。

这就是将商品添加到购物车后 ci_session 表中的样子。

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

请注意,URL 中已添加“\”转义字符。

那么我该如何解决这个问题呢?我的第一个想法是执行 str_replace 将“/”更改为“|”等其他内容然后稍后将“/”放回原处。我怀疑有更好的方法来做到这一点。

谢谢。

php codeigniter session cart
1个回答
0
投票

您可以

base64_encode
base64_decode
对 URL 进行编码/解码。但是,如果您不使用 db_session,这将占用 cookie 中的更多空间,从而将您推向 cookie 存储的 5kb 限制——因此请记住这一点。

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

© www.soinside.com 2019 - 2024. All rights reserved.