如何在php中向现有的cookie中添加cookie值


How we add a cookie value to an existing cookie in php

这是我的代码,但我没有得到我的cookie值在页

if (isset($_COOKIE['mycookie'])) {
    $cookie[] = $proID;
    $cookie = implode(',', $cookie);
    $cookie = unserialize($cookie);
    setcookie('mycookie', serialize($cookie), time() + (86400 * 30), '/');
}

您正在做isset($_COOKIE['mycookie']),它将检查$_COOKIE['mycookie']是否设置,如果设置为false,将返回true。如果您第一次在if块中设置它,它将永远不会被设置。所以应该是-

if(!isset($_COOKIE['mycookie']))
    // Set the cookie   
}

首先获取cookie的旧值,并使用unserialize将其转换为数组。如果cookie未设置,则初始化为空数组。

if (isset($_COOKIE['mycookie'])) {
    $cookie = unserialize($_COOKIE['mycookie']);
} else {
    $cookie = array();
}

然后将新元素添加到数组中,并将其保存回cookie。

$cookie[] = $proID;
setcookie('mycookie', serialize($cookie), time() + (86400 * 30), '/');