首页 > 解决方案 > 如何保存多个cookie?

问题描述

我正在创建一个用户会来做一些任务的网站。现在我想要的是,如果用户“X”来了,应该在浏览器中保存一个名为“X”的 cookie。如果用户“Y”来了,那么“Y”用户的 cookie 也应该被保存。但不应删除或覆盖“X”的 cookie。现在假设下次“X”再次访问该网站,“X”cookie 中的数据应该更新,“Y”也应该这样做。如果可能的话,请告诉我确切的方法。谢谢。

标签: phpsessioncookies

解决方案


您可以创建任何您想要的 cookie。将 cookie 视为$_SESSION存储在用户计算机而不是您的服务器上的值。Cookie 可以是复杂的数组,因此您可以为每个用户存储一个数组。

请记住,计算机的任何用户都可以看到任何 cookie 中的内容,因此永远不要保存任何秘密,例如密码或 API 密钥。

数组作为 cookie

您可以使用将数组存储为 cookiejson_encode(),如下所示:

setcookie('your_cookie_name', json_encode($array), time()+3600);

进一步阅读

查看setcookie()有关如何在 PHP 中使用它的更多文档。

我在做正确的事吗?

cookie 最常见的用途是识别一个用户,并让他们不必识别自己。在他们自己的机器(而不是您自己的服务器)上存储大量关于或为大量用户的信息没有多大意义,因为可以轻松清除 cookie。

您最好将所有内容存储在自己的服务器上,并且只使用 cookie 来识别当前用户。


推荐阅读