2009-12-30 43 views
0

我建立一个网站,用户可以选择他们在导航菜单中看到列表中的项目,我的想法是,以存储用户选择在cookie中的菜单项,因为这将停供需要用户是网站上的注册会员,是否可以将实时数据存储在cookie中,我将如何执行此操作?有关更多信息,导航选项是从一个MySQL结果构建的,然后单击一个链接,该链接添加到不同的列表,如果他们再次单击它将被删除,我需要添加/从cookie中删除这些项目作为用户从那里列表添加/删除它。存储实时数据

回答

2

我会使用cookie来识别用户,并执行保存在MySql中的所有菜单选项。

从cookie中获取用户标识并查询数据库中的menu_options并显示它们。无论哪种方式,将数据存储在cookie或数据库中,当cookie过期时,(有效)用户也一样。此外,人们还会使用Adware和CCleaner等清洁工一直删除Cookie。我每周做一次。 Cookie =走了。

+1

+1。 cookie的最大尺寸(我认为大约为4kB),并且为每个请求上下发送都是低效的。更好的保持在那里的两个产生和使用的数据,即服务器端,只有放一个唯一的ID在cookie对用户的识别。 – Wim 2009-12-30 20:51:48

0

这是一个坏主意。

浏览器可以存储的cookie数量未定义(但对于大多数浏览器来说存在硬限制)。 RFC 2109建议每个主机至少有20个cookie,最小Cookie大小为4k。当然,大多数浏览器都坚持后者。

您还将不得不复制会话管理的所有功能,而没有服务器端状态的好处。你不希望这种路线下的那种痛苦会导致你。将会话数据保存在服务器端。

没有要求用户'登录'进行会话。你只需要在持久cookie中为它们分配一个自动标识(如果它们曾经登录过,则替换它们)。并且在用户更改配置时将会话映射回更长期的存储空间。

C.