所以我以前从未使用过cookies,但现在我正在制作购物车,他们可以继续回来和离开,但我希望它能存储他们添加的东西。
我想知道:
如何检查cookie是否存在然后创建或更新它,这是考虑使用cookie的最佳方式吗?
我将如何存储数据,特别是我想存储一个ID列表,如“5,6,7,8”,我应该只使用一个字符串,还是比读取更快/更好的方式/解析/写这样的东西?我的意思是我想我会继续添加new_value +','到最后,是否有一个追加cookie变量?
cookie是否有一些唯一的标识符,我会用它来确保我不会写重复或什么?
注意:查看'HOW'很容易看到语法,但我真的想要掌握'最佳方式'或最理想,它是如何使用的,或者你所有程序员发现的是在这种情况下使用它们的最有成效的方法。
答案 0 :(得分:1)
this similar question的获胜答案表明您只将用户ID存储在Cookie中。其余的都在数据库中。
如果你可以考虑除了cookie以外的其他方法,很多人更喜欢使用会话而不是使用cookie。首先,你并不总是在cookie中有很多空间。
将购物车存储在cookie中意味着您将无法记录人们购物但未购买的内容。
答案 1 :(得分:0)
我过去通过使用传递CookieManager
对象的静态方法创建一个管理cookie的类(例如HttpRequest
)来解决这个问题。
我试图解决一个非常类似的问题,所以我创建了一个Count cookie,然后创建了一个cookie,用于存储我想要保存的信息(在您的情况下是一个ID号)。我只想保存用户查看的最后5个项目,所以我会在我的CookieManager
课程中管理这个项目,将最旧的cookie出列并最新排队。 Count cookie记录了我有多少个cookie。显然,这不是很高技术或安全,但对于这个完全没有必要的项目。任何你想要健壮的东西都应保存在数据库或服务器端的其他地方。
答案 2 :(得分:0)
我想进一步解释为什么你只存储一个映射到cookie中的用户ID的guid。主要有两个原因:
那么有没有数据你可以直接使用cookies?碰巧,有。 Cookie具有粘贴特定机器和浏览器的良好特性。如今,很多人会从多个地方访问网络。也许是工作电脑,家用电脑,智能手机,上网本......所有这些都可能有不同的屏幕尺寸和其他特性。因此,您可以使用cookie执行的操作是特定于用户+位置组合的商店信息。