如何在COOKIES数组中存储项目?

时间:2014-02-28 05:31:54

标签: php arrays cakephp cookies

我正在尝试保存用户最近在cakephp应用中查看的设计人员ID。我的操作view()类似于以下内容:

$this->Cookie->write('designers', $id);
$cookies = $this->Cookie->read('designers'); 
$this->set("designer_id", $cookies);

view.ctp

<h2>COOKIE</h2>
<p>Designer ID from cookie: 
    <?php
        echo $designer_id;
    ?>
</p>

正在显示我检查过的设计师id。现在我如何将我检查过的设计师的ID保存到cookie中?我试过如下:

$myarray = array();
$myarray[] = $id;
$this->Cookie->write('designers', $myarray);

但是数组只包含我正在查看的id

2 个答案:

答案 0 :(得分:1)

试试这个:

$this->Cookie->write('designers', serialize($myarray));

和此:

$cookies = unserialize($this->Cookie->read('designers')); 

答案 1 :(得分:1)

确切,因为你每次都在擦除它。

你需要取回cookie来重写它:

$myarray = $this->Cookie->read('designers');
$myarray[] = $id;
$this->Cookie->write('designers', $myarray);