我正在做这样的事情,似乎没有用!
<?php
//cookie for saving recently viewed products list
//global $post;
//echo $post->ID;
if (!$_COOKIE['mediSHOPrecentlyViewedlist']) {
setcookie("mediSHOPrecentlyViewedlist", $post->ID, strtotime('+6 days'), "/");
} else {
$cookie_value = htmlspecialchars($_COOKIE['mediSHOPrecentlyViewedlist']);
$cookie_value = explode(",",$cookie_value);
array_unshift($cookie_value, $post->ID);
setcookie("mediSHOPrecentlyViewedlist", $cookie_value, strtotime('+6 days'), "/");
print_r($cookie_value);
}
?>
$ cookie_value是一个数组。这可能吗?
答案 0 :(得分:3)
当然可以,但您应该考虑以下事项:
Cookie旨在存储最少的数据,因为可以由用户更改。在这里存储大量数据并不安全。你应该存储用户ID,密码哈希和次要的重要内容,并让你的抄写员处理其余的事情。
但是,如果你想存储数组,那么在存储数据之前可能需要json_encode
数据,而在获取数据时可能需要json_decode
和内容。
答案 1 :(得分:1)
serialize()
数组:
array_unshift($cookie_value, $post->ID);
$cookie_value = serialize($cookie_value);
然后阅读它的值,unserialize()
它:
$cookie_value = unserialize($_COOKIE['mediSHOPrecentlyViewedlist']);
答案 2 :(得分:0)
您需要serialize()
和unserialize()
提示>