每当用户点击“添加到我的收藏夹”时,我想在Codeigniter中设置一个cookie。但我很困惑。因为我必须同时添加一个带有一个名字的项目。您知道这是不可能的,CI会覆盖以前的值。看看这个:
$this->input->set_cookie(array("name"=>'fav', 'value'=>2500, 'expire'=>100000));
$this->input->set_cookie(array("name"=>'fav', 'value'=>3500, 'expire'=>100000));
$this->input->set_cookie(array("name"=>'fav', 'value'=>4500, 'expire'=>100000));
当我尝试使用此函数获取fav
值时:
printer($this->input->cookie("fav"));
我得到了这个结果:
4500
当用户将项目添加到他们喜欢的列表时,我应该如何为用户设置cookie,以便在检索它们时我知道要检索什么。我无法使用数据库,因为此实现适用于非注册成员的用户。
答案 0 :(得分:0)
我认为您应该使用 print_r()而不是 printer()。 更重要的是,你应该使用: $这 - >输入 - > get_cookie( “最爱”); 有关详细信息,请查看此处:Cookie helper
答案 1 :(得分:0)
您可以使用$ this-> session-> set_userdata来存储值。
$fav = $this->session->userdata("my_favs");// get existing list
$fav[] = $new_fav; // append new items to list
$this->session->set_userdata(array("my_favs"=>$fav)); // update session with existing one.
打印所有项目
$fav = $this->session->userdata("my_favs")
foreach($fav as $fitems)
echo $fitems."<br/>";