我试图将一个json字符串存储在cookie中,但是,特殊字符,例如; {"":""}
被编码。
我尝试了setrawcookie()
,但它并没有存储多个属性值。
$array = array('test' => 'value', 'anothertest' => 'not stored');
setrawcookie($this->cookie_customs_name, stripslashes(json_encode($array)),
strtotime($this->cookie_life_time), $this->cookie_path, $this->cookie_domain);
我在这里做错了什么?
此外,是否可以使用setcookie()
方法实现此目的?
答案 0 :(得分:3)
使用setcookie()
时,应自动转义特殊字符。一旦检索到cookie,您应该只需要删除斜杠。
$array = array(....);
setcookie($this->cookie_customs_name, json_encode($array), ...);
检索cookie时:
$cookie = stripslashes($_COOKIE[$this->cookie_customs_name]);
$cookie = json_decode($cookie);
未经测试,但应该是所有需要的。