为什么我不算数行?

时间:2014-04-06 20:51:24

标签: php mysql

已解决:修正拼写错误后,我的工作方式无效。但我修好了。错误在$ ip2。由于HTTP_X_FORWARDED_FOR并不总是有输入,我的数据库将“”作为现有的ip调用,并且没有添加新的投票。我通过添加if($ ip2 =“”)语句然后添加投票来修复它。

编辑:我改变了错字,但它似乎只给了我“你已经投票”的页面,即使有代理来改变IP。

编辑2:所以我检查了一些内容:我投了一次,这项工作一切都被添加到我的数据库中,而不是我用我的代理投票给了另一个ip1,但它仍然告诉我我已投票了。所以我只能投票一次。

所以我目前有这个代码,但它什么也没有返回:

<?php
$con = mysqli_connect("localhost","root","PASSWORD","DATABASE");

$ip1 = $_SERVER['REMOTE_ADDR'];
$ip2 = $_SERVER['HTTP_X_FORWARDED_FOR'];

if (mysqli_connect_errno())
  {
  echo "Unable to connect: " . mysqli_connect_error();
  }

$count1 = mysqli_num_rows(mysqli_query($con, "SELECT * FROM votes WHERE voteip1 = '$ip1'"));
$count2 = mysqli_num_rows(mysqli_query($con, "SELECT * FROM votes WHERE voteip2 = '$ip2'"));

if (($count1 > 0) || ($count2 > 0))
    {
    echo "You already voted, you can leave this page.";
    mysqli_close($con);
    }
else 
    {
    $sql="INSERT INTO votes (vote, voteip1, voteip2)
    VALUES 
    ('$_POST[vote]','$ip1','$ip2')";

    if (!mysqli_query($con,$sql))
        {
        die('Error: ' . mysqli_error($con));
        }

    echo "Thanks for voting, you can leave this page.";
    mysqli_close($con);
    }
?>

我尝试过很多不同的事情。任何人都可以告诉我我做错了什么。

对不起我的英语,这不是我的第一语言,我还在学习

0 个答案:

没有答案