我有一个PHP代码问题。正如你所看到的,我从其他页面获得id
。我想要将这些id
的数据保存在Cookie中。我能够做到这一点,但我有一个问题。有一个数组作为cookie值
当我设置超时(例如20秒)和刷新页面:每20秒它工作正常,但如果我在20秒内刷新它,它给了我下面的错误。
Fatal error: [] operator not supported for strings
我不知道为什么;能否请你帮忙?
<?php
$ID = is_numeric($_GET['ID']) ? $_GET['ID'] : 1;
$cookie_name = "favoritepost";
if (isset($_COOKIE[$cookie_name])) {
$kookie = $_COOKIE[$cookie_name];
} else {
$kookie = array();
}
if (! in_array($ID, $kookie)) {
$kookie[] = $ID;
}
setcookie($cookie_name, serialize($kookie), time() + (20), "/"); // 86400 = 1 day
?>
<html>
和“这个错误”是......? –
@ Marc B谢谢你的回答,就像我说的问题,它给了我这个错误 致命错误:[]运算符不支持字符串 – Malekian
您从未反序列化您的数组。来自$ _COOKIES的一切都是一个字符串。 –