我在Codeigniter中使用购物车会话。我的问题是当买家退出时,购物车会话被销毁。如何为那些返回并再次登录的客户保留尚未处理的购物车数据?
答案 0 :(得分:1)
注销时必须添加一个过程以将数据保存到数据库中。
并且,登录时......从数据库中取出并添加到购物车。
是唯一的解决方案,或者您必须重写整个购物车代码。
我的解决方案:数据库购物车和cookie :)所以无论你是否登录过。你可以在admin中看到购物车中的内容。
当您注销时......您必须添加以下内容:
foreach ($this->cart->contents() as $items){
$this->db->from('temp_cart');
$this->db->set('id_user', LOGGED USER ID);
$this->db->set('cart_row', json_encode($items));
$this->db->insert();
}
登录时
$this->db->select('*');
$this->db->from('temp_cart');
$this->db->where('id_user', LOGGED USER ID);
$res=$this->db->get();
foreach($res->result_array() as $row{
$row=json_decode($row, TRUE);
$this->cart->insert($row);
}
$this->db->from('temp_cart');
$this->db->where('id_user', LOGGED USER ID);
$this->db->delete();
答案 1 :(得分:0)
注销时,您必须添加以下内容:
r = requests.post(SERVER_URL,
data={
'image': PILimage.tobytes(),#PILimage is of type PIL.Image
'wordPos':(86,23)
},
)
登录时:
PIL.Image