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

如何在php中向现有cookie添加cookie值,php,Php,这是我的代码,但我没有在页面中获取我的cookie值 if (isset($_COOKIE['mycookie'])) { $cookie[] = $proID; $cookie = implode(',', $cookie); $cookie = unserialize($cookie); setcookie('mycookie', serialize($cookie), time() + (86400 * 30), '/'); } 您正在执行的isset

这是我的代码,但我没有在页面中获取我的cookie值

if (isset($_COOKIE['mycookie'])) {

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

}
您正在执行的
isset($\u COOKIE['mycookie'])
将检查
$\u COOKIE['mycookie']
是否已设置,如果设置其他
false
将返回
true
。如果您第一次在
if
块中设置它,它将永远不会被设置。所以应该是——

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

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

if (isset($_COOKIE['mycookie'])) {
    $cookie = unserialize($_COOKIE['mycookie']);
} else {
    $cookie = array();
}
然后将新元素添加到数组中,并将其保存回cookie中

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

您在哪里设置$proID?我正在发布到我的页面如果未设置cookie,我将使用$cookie=array()$cookie[]=$proID$cookie=序列化($cookie);setcookie('mycokie',$cookie,time()+(86400*30),“/”;为什么在下一步中,您首先要对数组进行
内爆
而不是
反序列化
序列化
呢。在我看来,这是不必要的重复:$cookie=array()$cookie[]=$proID$cookie=序列化($cookie);setcookie('mycokie',$cookie,time()+(86400*30),“/”;如果未设置cookie,则您只需将一个
否定
添加到
isset
。检查答案。对不起,我不明白你说的是什么(isset($_COOKIE['mycookie']){$COOKIE[]=$proID;$COOKIE=内爆(',',$COOKIE);$COOKIE=序列化($COOKIE);setcookie($mycookie',$COOKIE,time()+(86400*30),'/');}其他{$COOKIE=数组();$COOKIE[]=$proID;$COOKIE=序列化($COOKIE);setcookie('mycookie',$cookie,time()+(86400*30),“/”;)这是我的全部代码谢谢,我试过了,但是如果cookie已经设置了,代码就没有附加值:if(isset($cookie['mycookie']){$cookie=unserialize($cookie['mycookie']);$cookie[]=$proID;setcookie('mycookie',serialize($cookie),time()+(86400*30),'/');}else{$cookie=array();$cookie[]=$proID;setcookie('mycokie',serialize($cookie),time()+(86400*30),'/');}是否出错?执行此操作时是否重新加载页面?
$\u cookie
在调用
setcookie()
时不会更新,只有在脚本第一次启动时才会更新。a:1:{i:0;s:2:\“12\”
警告:session_start()[]:无法发送会话缓存限制器-每次我转到不同的产品时已发送头,但我看不到以前的产品id,但我看不到附加在每个更新后的数据我得到了不同的id,没有显示两个或多个id