【问题标题】:How to store votes of many polls in a cookie in WordPress?如何将许多投票的投票存储在 WordPress 的 cookie 中?
【发布时间】:2014-07-14 13:05:25
【问题描述】:

我正在为 WordPress 开发投票投票插件。在我的投票中,我试图添加一些限制方法来避免多次投票,例如通过 IP 进行限制和通过 cookie 进行限制。我已经通过 IP 创建了限制。

但现在我正在尝试通过 cookie 添加限制。我知道这是一个简单的过程。但我的问题是用户可以在小部件或帖子中添加无限投票。据我所知,从单个网站浏览器可以保存 20 个 cookie。

这意味着如果我添加 20 个投票,它将创建 20 个 cookie。如果管理员创建超过 20 个投票,它需要超过 20 个 cookie。结果它不会工作。

请告诉我在这种情况下我该怎么做。

【问题讨论】:

  • 每个 cookie 可以保存超过 1 unit of information。例如使用serialize()json_encode()

标签: php wordpress cookies


【解决方案1】:

您可以使用 base64 编码的 JSON 序列化将所有投票存储在一个 cookie 中。

假设您对存储在数组中的民意调查投票:

$polls = array(
   1 => 1,
   2 => 2,
   3 => 3
);

您可以使用以下命令将这些写入单个 cookie:

setcookie('polls', base64_encode(json_encode($polls)));

同样你可以从 cookie 中读取:

$polls = json_decode(base64_decode($_COOKIE['polls']));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-06
    • 1970-01-01
    • 2012-03-15
    • 1970-01-01
    • 1970-01-01
    • 2011-05-17
    • 1970-01-01
    • 2019-04-03
    相关资源
    最近更新 更多