繁体   English   中英

将购物车项目存储到Cookie和数据库中

[英]Storing shopping cart items into cookies and database

我正在一个电子商务网站上。 当用户未登录我的网站并单击“立即购买”按钮时,我想将此信息存储到cookie以及数据库中。 购物车的表看起来像

SHOPPING_CART 
(
     sessionid   int(10), 
     itemid      int(10), 
     quantity    tinyint(10) unsigned
     date_added  datetime
);

主键是: (sessionid, itemid)

当用户关闭浏览器时,也应保留购物车项目。 现在我的问题是:

  1. 当用户未登录我的网站时,我应根据什么身份识别用户?
  2. 我应该使用IP address存储信息吗? 如果是,那怎么办? 在这种情况下,上述表格中的sessionid将是用户的IP地址。 对?
  3. 我应该为访问我的网站的每个用户创建一个临时会话,然后存储信息吗? 如果是,那怎么办?
  4. 即使用户关闭浏览器窗口,如何保存购物车商品? 我应该从数据库还是cookie中检索?
  5. 还有其他更好的方法来存储和检索信息吗?

注意1 :我可以使用许多可用的购物车软件/代码/库。 但我想知道: 如何识别用户? 以及存储/检索数据。

注意2 :每个项目的价格,订购,运输信息都存储在不同的表中。

  1. 您所能做的就是为用户创建一个唯一的伪造身份
  2. 否。多个用户可能具有相同的IP地址,并且一个用户可以更改其IP地址
  3. 是。 当您要求启动会话时,PHP将为您创建一个会话。 您必须将身份与此会话关联。 只需使用随机数或UUID生成器,或类似的东西即可生成唯一且不容易猜测的内容。 然后将身份存储在cookie中,以便用户稍后再回来时,可以将其身份与新会话重新关联。
  4. 我只是将身份存储在cookie中。 Cookie仅包含少量信息,用户可能会在不知情的情况下对其进行修改。
  5. 如果用户未登录,则看不到其他任何方式。

唯一要做的就是将sessionid设置为client-cookie。 如果客户返回并出示sessionid cookie,则您用他的新sessionid更新购物车表(并在cookie中设置新的sessionid)。

  1. 会话(这就是它的目的)
  2. 没有
  3. “临时会议”?
  4. 购物车在数据库中
  5. 在什么意义上更好? 安全? 强大的? 方便使用的?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM