Ir para conteúdo
Fórum Script Brasil
  • 0

Enquete em PHP


Henrique Neto

Pergunta

Bem tenho 3 arquivos da minha enquete ta funcionando primeira, so que gostaria de adicionar algo para que a pessoa não votasse mais de uma vez, alguém poderia me ajudar a terminar? como posso realizar isso ? vi falar sobre ip e sobre cookies.

Desde já grato

enquete.php

<html>
<head>
<title>Enquete</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body ><center>
<form action="votar.php" method="post">
    <table width="300" border="0">
      <tr bgcolor="#FFFFFF"> 
        
      </tr>
      <tr bgcolor="#FFFFFF"> 
        <td colspan="2" align="center" bordercolor="#000000"><em><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Tcheco deve se aposentar no Grêmio ?</strong></font></em></td>
      </tr>
      <tr bgcolor="#FFFFFF"> 
        <td width="67" align="center" bordercolor="#000000"> <input type="radio" name="opc" value="sim"> 
          &nbsp;</td>
        <td width="217" align="left" bordercolor="#000000"><strong><font color="#0000FF" size="2" face="Verdana, Arial, Helvetica, sans-serif">Sim</font></strong></td>
      </tr>
      <tr bgcolor="#FFFFFF"> 
        <td align="center" bordercolor="#000000"> <input type="radio" name="opc" value="não"> 
          &nbsp;</td>
        <td align="left" bordercolor="#000000"><strong><font color="#0000FF" size="2" face="Verdana, Arial, Helvetica, sans-serif">Não</font></strong></td>
      </tr>
      <tr bgcolor="#FFFFFF"> 
        
      </tr>
      <tr bgcolor="#FFFFFF"> 
        
      </tr>
      <tr align="right" bgcolor="#FFFFFF"> 
        <td bordercolor="#000000"> <input name="submit" type="submit" value="Votar"> 
          &nbsp;</td>
        <td bordercolor="#000000"><a href="resultado.php" target="_blank"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Resultado 
          Parcial</font></a>&nbsp;</td>
      </tr>
      <tr align="right" bgcolor="#FFFFFF"> 
        
      </tr>
    </table>
</form>
</center>
</body>
</html>
resultado.php
<?php 
include ("conecta.php");

//SELECIONA TODOS OS REGISTRO DA TABELA ENQUETE
$sql="SELECT * FROM enquete ";
$resultado=mysql_query($sql);
$pegar=mysql_fetch_array($resultado);
//PEGA OS REGISTROS DA TABELA
$sim=$pegar["sim"];
$não=$pegar["não"];

//FAZ A SOMA PARA DEPOIS RETIRAR A PORCENTAGEM
$soma=$sim+$não;
//echo "$soma";

?>
<html>
<head>
<title>Enquete</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body ><center>
<form action="votar.php" method="post">
    <table width="310" border="0">
      <tr bgcolor="#FFFFFF"> 
      </tr>
      <tr bgcolor="#FFFFFF"> 
        <td colspan="4" align="center" bordercolor="#000000"><em><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>Tcheco deve se aposentar no Grêmio?</strong></font></em></td>
      </tr>
      <tr bgcolor="#FFFFFF"> 
        <td colspan="2" align="center" bordercolor="#000000">&nbsp;</td>
        <td width="55" align="center" bordercolor="#000000"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>votos</strong></font></td>
        <td width="67" align="center" bordercolor="#000000"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><strong>%</strong></font></td>
      </tr>
      <tr bgcolor="#FFFFFF"> 
        <td width="23" align="center" bordercolor="#000000" bgcolor="#000000">&nbsp;</td>
        <td width="125" align="left" bordercolor="#000000"><strong><font color="#0000FF" size="2" face="Verdana, Arial, Helvetica, sans-serif">Sim</font></strong></td>
        <td align="center" bordercolor="#000000"><?php echo "$sim"; ?>&nbsp;</td>
        <td align="center" bordercolor="#000000"> 
          <?php
//SE O CAMPO OTIMO FOR IGUAL A ZERO
 if($sim==0)
 echo "$sim %"; 
else {
//FORMATA O NUMERO E DA A PORCENTAGEM
$divide=($sim/$soma)*100; 
$divide=number_format($divide,2,',','.'); 
echo "$divide %"; }?>
          &nbsp;</td>
      </tr>
      <tr bgcolor="#FFFFFF"> 
        <td align="center" bordercolor="#000000" bgcolor="#0000FF">&nbsp;</td>
        <td align="left" bordercolor="#000000"><strong><font color="#0000FF" size="2" face="Verdana, Arial, Helvetica, sans-serif">não</font></strong></td>
        <td align="center" bordercolor="#000000"><?php echo "$não"; ?>&nbsp;</td>
        <td align="center" bordercolor="#000000"> 
          <?php if($não==0)
 echo "$não %"; 
else {
$divide=($não/$soma)*100; 
$divide=number_format($divide,2,',','.'); 
echo "$divide %"; }?>
          &nbsp;</td>
      </tr>
      
      <
    </table>
</form>
</center>
</body>
</html>
votar.php
<?php 
$opc=$_POST["opc"];
//echo "$opc";
include ("conecta.php");
$sql="SELECT * FROM enquete ";
$resultado=mysql_query($sql);
$pegar=mysql_fetch_array($resultado);
$sim=$pegar["sim"]+1;
$não=$pegar["não"]+1;

if($opc=="sim")
{
$sql="UPDATE enquete set sim=$sim";
}
if($opc=="não")
{
$sql="UPDATE enquete set não=$não";
}

$resultao=mysql_query($sql);


?>
<script language="JavaScript">

window.location.href="enquete.php";
</script>

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

O que você pode fazer é verificar o IP do cara... por exemplo:

$ip_usuario = $_SERVER['REMOTE_ADDR'];

$sql_tabela = mysql_query("SELECT id FROM tabela WHERE ip_usuario = '$ip_usuario'");

if(mysql_num_rows($sql_tabela) == '0'){
mysql_query("INSERT INTO tabela (ip_usuario) VALUES('$ip_usuario')");
//Conta o voto aqui...
}else{
//Jà votou...
}

Link para o comentário
Compartilhar em outros sites

  • 0

Nem deu certo da error na linha 16 :S tentei mechi de todo jeito não consegui.

pode ajudar

<?php 
$opc=$_POST["opc"];
//echo "$opc";
include ("conecta.php");
$sql="SELECT * FROM enquete ";
$resultado=mysql_query($sql);
$pegar=mysql_fetch_array($resultado);
$sim=$pegar["sim"]+1;
$não=$pegar["não"]+1;
[b]$ip_usuario = $_SERVER['REMOTE_ADDR'];
$sql_tabela = mysql_query("select id_enquete FROM enquete WHERE ip_usuario = '$ip_usuario'");

    if(mysql_num_rows($sql_tabela) == '0'){
        mysql_query("INSERT INTO enquete ip_usuario VALUES('$ip_usuario')");
    
     else {
        //Jà votou... 
        echo "já votou";
        }
    }[/b]
    $resultao=mysql_query($sql);
    if($opc=="sim")
        {
            $sql="UPDATE enquete set sim=$sim";
        }
    if($opc=="não")
        {
            $sql="UPDATE enquete set não=$não";
        }

   
}

?>

Link para o comentário
Compartilhar em outros sites

  • 0
<?php
$opc=$_POST["opc"];
//echo "$opc";
include ("conecta.php");
$sql="SELECT * FROM enquete ";
$resultado=mysql_query($sql);
$pegar=mysql_fetch_array($resultado);
$sim=$pegar["sim"]+1;
$não=$pegar["não"]+1;
$ip_usuario = $_SERVER['REMOTE_ADDR'];
$sql_tabela = mysql_query("select id_enquete FROM enquete WHERE ip_usuario = '$ip_usuario'");

    if(mysql_num_rows($sql_tabela) == '0'){
        mysql_query("INSERT INTO enquete ip_usuario VALUES('$ip_usuario')");
    
    } else {
        //Jà votou...
        echo "já votou";
        }
    }
    $resultao=mysql_query($sql);
    if($opc=="sim")
        {
            $sql="UPDATE enquete set sim=$sim";
        }
    if($opc=="não")
        {
            $sql="UPDATE enquete set não=$não";
        }

  
}

?>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...