0

我有一个网站,它有多个字段(公司、产品),允许投票赞成或反对,每次投票我只希望每个用户对字段投票。但是,我不希望任何人注册此权利。从我的研究来看,如果它是一次民意调查,cookie 似乎是最好的选择,(看看他们是否投票,如果是的话,添加一个 cookie,不要让他们投票,但是,如果有 1000 个民意调查,我会怎么看如果他们对任何一项民意调查进行了投票,并且不允许他们再次对该民意调查进行投票,但其他民意调查?) Coockies 将主要用于识别单个用户,但我如何识别他们已投票和未投票的内容? 各个事物由唯一的公司 ID 定义。任何建议都会很好。这个网站上最重要的是匿名,所以我不能要求他们注册。我也知道他们可以更改 IP,或删除 cookie 或等等等等。但我正在为非精通技术的用户寻找解决方案。

4

1 回答 1

0

您可以生成 cookie 标识符并在服务器上存储对该 ID 进行的投票。另一种方法是连接投票的投票 ID 并将它们存储在 cookie 中。

编辑:添加了带有示例实现的JSFIDDLE :

$(document).ready(function() {

    var cookiename = "mypolls";

    $('input[type=button]').click(function() {

        var pollId = $(this).parent().attr('id');

        if ($.cookie(cookiename)) {

            var voted = $.cookie(cookiename);

            if (voted.indexOf('|' + pollId + '|') > -1) {

                alert('Already voted!');
                return;
            }
            else {

                voted += pollId + '|';

                // storing updated cookie
                $.cookie(cookiename, voted);
            }
        }
        else {

            // adding cookie
            $.cookie(cookiename, '|' + pollId  + '|');
        }

        alert('Thank you for your vote!');
    });
});​
于 2012-10-13T07:18:29.007 回答