有人可以帮我修复这个代码每天一次ip吗?

时间:2017-11-05 16:51:26

标签: php sql

我正在制作一个带有个人投票链接的投票系统。 我想建立个人投票页面以注册IP,并确保IP每人每天只能投票一次(创建者)。 投票页面如下所示:

http://forum.thestronghold.nl/vote4creators.php

有人可以帮我修复投票链接页面吗?现在它看起来像这样:

$sql = "UPDATE `DB3121646`.`vote4creator` SET `Votes` = Votes +1 WHERE `vote4creator`.`id` = 6;";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo " Creator : " . $row["Creator"]. " "." Votes : ".$row["Votes"]."<br>";

    }
} else {
    echo "";
}

$conn->close();
?>
<?php
/* Redirect browser */
header("Location: http://forum.thestronghold.nl/vote4creators.php");

/* Make sure that code below does not get executed when we redirect. */
exit;
?>

1 个答案:

答案 0 :(得分:0)

您需要做的是(简单,但不是理想的解决方案):

  1. 生成$ uid = uniqueid();每位选民
  2. 将uid添加到选民Cookie中,并将有效期限计算到今天的午夜+ 1秒
  3. 每个新投票系统的
  4. 必须检查访客是否存在cookie(!exists = new visitor和/或今天没有投票)
  5. 您还可以:

    1. 用她/他的ip将这个uid添加到数据库中(eid(int unsigned)| voter_ip varchar(16)| voter_uid varchar(32)将完成工作)
    2. 并检查cookie aginst数据库(选择count()其中voter_ip = $ _SERVER [&#39; remote_host&#39;]和voter_uid = $ _COOKIE [&#39; vote_hash&#39;]) - (&& #39; s伪代码,因此需要验证)
    3. if(rows == 0){not voted} (如果您希望每天给他们两张票,只需检查是否(行&lt; 2))
    4. 我希望你能解决你的问题。

      btw:叔叔谷歌如果有很多例子如何在很多方面做到这一点;)