在线投票系统

时间:2017-06-28 14:55:11

标签: database system voting

<?php
include("databaseconnect.php");

if(isset($_POST['submitvotes'])) {

    $vote = $_REQUEST['submitvotes']; 

    $sql = "UPDATE `candidates` SET votescasted = votescasted + 1 WHERE  `id` = '$vote'";
    $qry = mysqli_query($connect, $sql);
    if ($qry){
        header("location: onlinevotingsystem.php?ViewResults");
    }
}
mysqli_close($connect);
    ?>

使用上面的代码制作在线投票系统,但问题是它只增加了一票。有什么方法可以多次停止投票(只投票一次)。

我正在寻找可靠的想法,以便能够保存选民的详细信息以及他们投票的人。

1 个答案:

答案 0 :(得分:0)

解决方案一点也不小。您需要能够唯一地识别您的用户,跟踪他们,并确保他们只投票一次。您的选择包括:

  1. 让他们注册投票,验证他们的电子邮件,并且每封电子邮件只允许一次投票(但他们总是可以注册更多的电子邮件)
  2. 跟踪IP地址详细信息,这也不是很好,因为很多人可以共享一个IP地址
  3. 两者都结合了1和1的优点和缺点。 2
  4. 接受人们可以多次投票的事实。
  5. 此外,您对SQL injection

    持开放态度