Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 存储实时数据_Php_Ajax_Codeigniter_Cookies - Fatal编程技术网

Php 存储实时数据

Php 存储实时数据,php,ajax,codeigniter,cookies,Php,Ajax,Codeigniter,Cookies,我正在建立一个网站,用户可以选择他们在导航菜单中看到的列表项,我的想法是将用户选择的菜单项存储在cookie中,因为这将停止用户成为网站注册成员的需要,是否可以在cookie中存储实时数据,我将如何做到这一点?有关更多信息,导航选项是根据mysql结果构建的,然后单击一个链接,该链接将被添加到另一个列表中,如果再次单击,则该链接将被删除,我需要在用户从cookie列表中添加/删除这些项目时,从cookie中添加/删除这些项目。我只会使用cookie来标识用户,并在MySql中保存所有菜单选项 从

我正在建立一个网站,用户可以选择他们在导航菜单中看到的列表项,我的想法是将用户选择的菜单项存储在cookie中,因为这将停止用户成为网站注册成员的需要,是否可以在cookie中存储实时数据,我将如何做到这一点?有关更多信息,导航选项是根据mysql结果构建的,然后单击一个链接,该链接将被添加到另一个列表中,如果再次单击,则该链接将被删除,我需要在用户从cookie列表中添加/删除这些项目时,从cookie中添加/删除这些项目。

我只会使用cookie来标识用户,并在MySql中保存所有菜单选项

从cookie中获取用户id,查询db中的菜单选项并显示它们

无论哪种方式,当cookie过期时,将数据存储在cookie或数据库中,用户(实际上)也会这样做。另外,人们总是使用诸如广告软件和CCleaner之类的清洁剂来删除cookies。我大约每周做一次。Cookie=不见了。

这是个坏主意

浏览器可以存储的cookie数量没有定义(但是大多数浏览器都有硬限制)。RFC2109建议每个主机至少有20个cookie,最小cookie大小为4k。当然,大多数浏览器都遵循后者

您还必须复制会话管理的所有功能,而不必精确地拥有服务器端状态。你不希望这条路会给你带来痛苦。将会话数据保留在服务器端

用户无需“登录”即可进行会话。您只需要在持久cookie中为他们分配一个自动标识(如果他们确实登录,则替换该标识)。并在用户更改配置时将会话映射回更长期的存储


C.

+1。Cookie有一个最大大小(我认为大约4kB),为每个请求上下发送Cookie是低效的。更好的做法是将数据保存在生成和使用的位置,即服务器端,并且只在cookie中放置一个唯一的ID以识别用户。