Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JQuery多投票一票_Jquery_Validation_Cookies - Fatal编程技术网

JQuery多投票一票

JQuery多投票一票,jquery,validation,cookies,Jquery,Validation,Cookies,我有一个网站,它有多个字段(公司、产品),允许投赞成票或反对票,每次投票我只希望每个字段、每个用户投一票。但是,我不希望任何人注册这项权利。根据我的研究,如果是一次民意调查,一个cookie似乎是最好的选择(看看他们是否进行了民意调查,如果是的话,添加一个cookie,不让他们投票,但是,如果有1000次民意调查,我怎么看他们是否对任何一次民意调查进行了投票,不让他们再次投票,但是其他民意调查呢?)Coockies主要用于识别一个用户,但我如何确定他们调查了什么和没有调查什么?单个事物由唯一的公

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

您可以生成cookie标识符,并将投票结果存储在服务器上。另一种方法是连接投票投票ID并将其存储在cookie中

编辑:添加了示例实现:

$(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!');
    });
});​

在cookie中存储变量?我认为varoibales只能像url和like和id那样存储?我可以在cookie中存储他们是谁(即时消息新cookie),但是他们投票的所有元素呢?只有一个或多个?你不需要存储他们是谁(你甚至不知道!)。只要存储他们投票的投票,您就可以将所有投票的投票ID连接到一个cookie中。。查看我添加的JSFIDLE。要求用户登录投票。在表格中记录他们投票的ID。在页面上生成HTML时,使用条件语句检查用户是否投票支持您所投反对票的id。你的服务器是用什么语言写的?我不想登录,这样他们就可以匿名了。如果它是一个cookie,我可以存储用户,但如何存储他们投票的内容是个问题!那么这个系统很容易被利用,而且不是一个非常安全的系统。您可以使用cookie、本地存储和会话存储,还可以使用PHP中的会话通过用户的位置、ip地址和用户代理字符串确定用户。这仍然是不可靠的,容易被利用,甚至可能会阻止一些用户参与。也许你应该重新考虑这个模型。无论如何,要回答你的问题,你应该做3件事,检查用户是否启用了cookie,然后保存cookie。我还将检查本地和会话存储的故障回复。您可以将投票和有关用户的任何其他相关信息存储在JSON字符串中。将字符串保存到cookie/存储器中,并在以后检索和解析。