【问题标题】:Create unique dynamic cookie until delete cookie创建唯一的动态 cookie,直到删除 cookie
【发布时间】:2016-11-22 15:39:43
【问题描述】:

如何创建唯一的动态 cookie,直到 cookie 被删除。我正在使用

 setcookie("name",uniqid(), 0, "/");

但它会为每次页面加载生成一个新名称,但我只想要一个名称,直到 cookie 被删除。

【问题讨论】:

    标签: php cookies setcookie


    【解决方案1】:

    您需要首先检查用户是否设置了 cookie,以及其中是否包含您要保存的信息。如果未设置,则为它创建一个新名称。如果已设置,请使用相同的名称重新创建它。
    要测试它是否被设置,那么你需要遍历$_COOOKIES 数组,并检查一个特定的键。这是一种相当笨拙的方法。

    这就是为什么这通常不是最好的想法。由于 cookie 的名称应该是静态的,而是包含一个随机创建的指向数据库中内容的键。使检查 cookie 变得容易,它可以帮助您将数据保存在用户无法触及的地方(以防止操纵)。

    也就是说,这听起来很像会话,除非您希望 cookie 即使在浏览器关闭的情况下仍然存在。如果这不是问题,并且应该在关闭浏览器时删除 cookie,我建议只使用会话:更简单。 :)

    【讨论】:

    • 我想动态创建cookie并将其存储在db中
    • @Nadh 恐怕这没有任何意义。 cookie 始终存储在浏览器中,而不是服务器的数据库中。
    • 不能创建动态cookie吗?
    • @Nadh 正如我在回答中所说:可以创建具有动态名称的 cookie,在大多数情况下这不是一个好的解决方案。由于您尚未解释您要尝试使用此“动态 cookie”解决什么问题,因此我无法就如何最好地解决您的问题为您提供任何进一步的帮助。也就是说,我确实概述了可以解决问题的三种不同方法,其中一种应该是解决问题的好方法。请记住:您认为可能是解决问题的唯一(或最佳)方法,不一定是这样。特别是因为您对编程很陌生。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-09
    • 2012-01-18
    • 1970-01-01
    • 1970-01-01
    • 2010-10-15
    • 1970-01-01
    相关资源
    最近更新 更多