我们如何在php中为现有cookie添加cookie值

时间:2015-08-03 08:27:27

标签: php

这是我的代码,但我没有在页面

中获取我的cookie值
if (isset($_COOKIE['mycookie'])) {

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

}

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

首先获取cookie的旧值,然后将其转换为unserialize的数组。如果没有设置cookie,请将其初始化为空数组。

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

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

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