Bom dia a todos! Estou desenvolvendo um sisteminha de votos em PHP baseado nas video aulas...
Quando a pessoa vota o sistema grava um cookie no navegador e grava no banco de dados o IP. Se a pessoa tentar votar novamente ele verifica se o cookie e se o IP está no banco caso as duas ocorrencias sejam verdadeiras e emite a mesagem que a pessoa já votou.
Erro:
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in /home/rota1/public_html/sistema/banco-votos.php on line 12
Podem me ajudar? Os arquivos estão abaixo:
index.php
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>A Hora é agora!</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0">
<meta name="author" content="Gean Cláudio">
<link href='https://fonts.googleapis.com/css?family=Oswald' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Josefin+Sans:400,400italic,600italic' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="css/sistema.css" />
<link rel="stylesheet" href="css/bootstrap.css" />
</head>
<body>
<div class="container">
<?php $ip= $_SERVER['REMOTE_ADDR']; ?>
<h2 class="text-center" id="y">DILMA SAI OU FICA ?</h2>
<h3 class="text-center" id="z">Qual a sua opinião?</h3>
<br/>
<div class="modela">
<table class="table table-bordered">
<form action="processa.php" method="post">
<input type="hidden" name= "ip" value="<?=$ip?>">
<div class="radio">
<td>
<label>
<input type="radio" name="voto" id="optionsRadios1" value="sim"> Acho que ela deve FICAR!
</label>
</td>
<tr>
<td>
<label>
<input type="radio" name="voto" id="optionsRadios2" value="nao"> Acho que ela deve SAIR!
</label>
</td>
<tr>
<td>
<button type="submit" class="btn btn-primary">Votar</button>
</td>
</div>
</form>
</table></div>
</div>
</body>
</html>
processa.php
<?php
include "conecta.php";
include "banco-votos.php";
$ip = $_POST["ip"];
$ipdaconexao = listaIP($conexao, $ip);
foreach ($ipdaconexao as $ipbanco) :
if(isset($_COOKIE["gean"]) && ($ip == $ipbanco['id'])) {
echo "Você ja votou!";
}
elseif (isset($_POST["voto"])){
$voto = $_POST["voto"];
$ip = $_POST["ip"];
$latitude = "1";
$longitude = "1";
$data = date("d/m/Y");
$hora = date("H:i");
if (insereVoto($conexao, $voto, $ip, $latitude, $longitude, $data, $hora)){ setcookie ("gean",$voto,time()+60*60*24*30);
?>
<p class="text-success">Voto computado com sucesso!</p> <?php
echo $ip;
} else {
$msg = mysqli_error($conexao); ?>
<p class="text-danger">Voto não computado: <?=$msg?></p>
<?php
}
} endforeach ?>
banco-votos.php
<?php
function insereVoto($conexao, $voto, $ip, $latitude, $longitude, $data, $hora) {
$query = "insert into votos (voto, ip, latitude, longitude, data, hora) values ('{$voto}', '{$ip}', '{$latitude}', '{$longitude}', '{$data}', '{$hora}')";
return mysqli_query($conexao, $query);
}
function listaIP($conexao, $ip){
$ips = array();
$query = "SELECT ip FROM votos where ip = $ip";
$resultado = mysqli_query($conexao, $query);
while($ipp = mysqli_fetch_assoc($resultado)) {
array_push($ips, $ipp);
}
return $ips;
}
?>