如果值不存在,则插入cookie

时间:2015-05-04 08:10:56

标签: php cookies

我正在尝试插入Cookie。逻辑很简单:

  • 检查值是否存在。
  • 如果没有,请以逗号分隔的形式插入新值。

我尝试了一些代码,但无法获得正确的结果。

在此代码中,应插入一个新值,这个值正在发生,但没有得到旧值。

已编辑的代码2

        $current_value = '';
 if(!isset($_COOKIE['blog_id_cookie'])){
     setcookie('blog_id_cookie', $id);
     $current_value[] = $_COOKIE['blog_id_cookie'];
 } else {
     $current_value = explode(',', $_COOKIE['blog_id_cookie']);
 } 
 if(!in_array($id, $current_value)){
     $current_value[] = $id;
     $cookie_name  = "blog_id_cookie";
     setcookie($cookie_name, implode(',', $current_valu));
 }

1 个答案:

答案 0 :(得分:0)

只有在未设置cookie的情况下才会定义代码$current_value。在else部分设置$current_value。连接cookie而不是$current_value。试试 -

<强>更新

 $current_value = '';
 if(!isset($_COOKIE['blog_id_cookie'])){
     setcookie('blog_id_cookie', $id);
     $current_value[] = $_COOKIE['blog_id_cookie'];
 } else {
     $current_value = explode(',', $_COOKIE['blog_id_cookie']);
 } 
 if(!in_array($id, $current_value)){
     $current_value[] = $id;
     $cookie_name  = "blog_id_cookie";
     setcookie($cookie_name, implode(',', $current_value));
 }