Почему мой метод проверки IP не работает? PHP / Mysqli - PullRequest
0 голосов
/ 04 ноября 2018

Почему моя попытка проверить наличие двойных голосов через IP-адрес не работает должным образом?

if ($qtype === "sc"){
                // single choice has only one select item



                // check whether user has already answered this question
                $i=0;
                $res = mysqli_query($mysqli, "SELECT ip FROM votedanswers WHERE ip = \"".$ip."\" and qID = \"".$qID."\"");

                while($obj = mysqli_fetch_object($res))
                {
                  $i = $i+1;
                }                   
                if ($i > 0){
                    echo "your vote has already been counted";
                }
                else{
                    //insert data
                    $res = mysqli_query($mysqli, "INSERT INTO votedanswers (ip, qID, qQuestion, aID) VALUES ('$ip', '$qID', '$quest', '$aID')");
                    echo "your vote has been counted";
                }   



        } else {
            echo "nope!";
        }`

MySQLI Table

Протестировал это некоторое время назад, и все было хорошо. Но теперь я могу голосовать столько, сколько хочу.

1 Ответ

0 голосов
/ 04 ноября 2018

Попробуйте это:

    if ($qtype === "sc"){
            // single choice has only one select item



            // check whether user has already answered this question
            $i=0;
            $res = mysqli_query($mysqli, "SELECT ip FROM votedanswers WHERE ip = \"".$ip."\" and qID = \"".$qID."\"");

            while($obj = mysqli_fetch_assoc($res))
            {
              $i = $i+1;
            }                   
            if ($i > 0){
                echo "your vote has already been counted";
            }
            else{
                //insert data
                $res = mysqli_query($mysqli, "INSERT INTO votedanswers (ip, qID, qQuestion, aID) VALUES ('$ip', '$qID', '$quest', '$aID')");
                echo "your vote has been counted";
            }   



    } else {
        echo "nope!";
    }

Также см .: Как я могу предотвратить внедрение SQL в PHP?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...