gpt4 book ai didi

php - 每次加载页面时,使用新值更新存储在 cookie 中的数组

转载 作者:行者123 更新时间:2023-12-05 06:43:47 24 4
gpt4 key购买 nike

我试图将一组值存储在 cookie 中,并在每次加载页面时使用新值更新该 cookie,但我无法更新该数组。到目前为止,这是我得到的:

我设置了一个包含四个值的数组,并在每次页面加载时在数组中选择一个随机值。

// Store values in array
$values = array(
0 => 'A',
1 => 'B',
2 => 'C',
3 => 'D'
);

// Get a random value for this page load
shuffle($values);
$random_value = $values[0];

然后我检查 cookie 是否已设置,如果尚未设置(例如,第一次加载页面时),我将 cookie 设置为存储值,使用 JSON 将值存储在数组中。

// Check if cookie has been set
if (!isset($_COOKIE["my_cookie"])) {
// Set cookie to current value
$init_value = array($random_value);
$init_value = json_encode($init_value, true);
setcookie('my_cookie', $init_value, time()+3600);
}

然后我有一个 else 语句,它将在设置 cookie 时触发(例如,每次后续页面加载),它获取 cookie 数组,将当前随机值添加到数组的末尾,并尝试存储更新数组作为 cookie 的新值。

else {
// Get cookie value
$prev_value = $_COOKIE["my_cookie"];
$prev_value = stripslashes($prev_value);
$prev_value = json_decode($prev_value, true);
// Add current value to array and set cookie again
array_push($prev_value, $random_value);
$new_value = json_encode($prev_value, true);
setcookie('my_cookie', $new_value, time()+3600);
}

在最后一段代码中尝试用新值更新 cookie 之前,一切都很好。该值已添加到数组,但该数组未设置为 cookie。

谁能告诉我为什么 cookie 没有更新?我这样做的方式是否正确?

谢谢。

最佳答案

在这里尝试了您的代码,一切正常。尝试清除浏览器上的 cookie,可能只是本地问题

关于php - 每次加载页面时,使用新值更新存储在 cookie 中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31756036/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com