如何在WordPress的cookie中存储多个民意调查的投票?

时间:2014-05-25 18:27:55

标签: php wordpress cookies

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

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

这意味着如果我添加20个民意调查,它将创建20个cookie。如果管理员创建超过20个民意调查,则需要超过20个cookie。结果它不起作用。

请告知我在这种情况下我该怎么办。

1 个答案:

答案 0 :(得分: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']));