wordpress unique使用cookie系统进行投票,以防止每个帖子的引用

时间:2013-09-13 08:02:11

标签: php jquery wordpress cookies wordpress-plugin

我正在尝试为wordpress主题创建一个投票系统。我正在使用cookie系统来确保选民只投票一次,但问题是当用户投票支持投票的cookie被设置为1以及他们是否想投票给另一个帖子因为cookie被设置为1他们不能。我怎样才能解决这个问题并为每个wordpress帖子投票?

我使用以下代码设置cookie

setcookie('voted','1');

我使用if语句来查看用户是否已投票:

if(!isset($_COOKIE["voted"]){
     // vote up code
}

2 个答案:

答案 0 :(得分:2)

你可以尝试在投票的cookie中存储poll的id。

<?php
setcookie("voted[$id_of_poll]", $id_of_poll);

然后像这样检查

<?php
if (in_array($id_of_poll, $_COOKIE['voted']))
{
   // already voted
}

但请注意,Cookie是高度动态的。用户可以清除它们,它们可能会使用多个设备等。最好将它存储在您自己的数据库中,以防止用户ID。

答案 1 :(得分:1)

将帖子ID附加到cookie,使其唯一:

setcookie("voted-".get_the_ID(),'1');

这样的事情:

if(!isset($_COOKIE["voted-".get_the_ID()]){
     // vote up code
}