Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/12/2005, 11:12
Avatar de lrunge
lrunge
 
Fecha de Ingreso: agosto-2005
Ubicación: En algun lugar de Caracas
Mensajes: 165
Antigüedad: 18 años, 9 meses
Puntos: 4
Restringir votos por IP

Hola a todos, mi pregunta es la siguiente: ¿como hago para restringir los los votos por ip

quiero que los visitantes puedan votar una sola vez.

mi spagina son las siguientes:

index.php
Código PHP:
<? 
$servidor
="localhost"
$usuario="root"
$password="pass"
$base="base_de_datos"
$SQLid mysql_connect($servidor,$usuario,$password); 
mysql_select_db($base,$SQLid); 
$SQLquery "SELECT * FROM encuesta order by encid desc"
$SQLresult mysql_query($SQLquery,$SQLid); 
$SQLrow mysql_fetch_array($SQLresult); 
?> 
<form name="form1" method="post" action="resultado.php"> 
  <div align="center"><font face="Arial, Helvetica, sans-serif">
    <input type=hidden name="encid" value="<? echo $SQLrow[0]?>"> 
    <font size="2">Encuesta valida a partir del 08/12/2005</font></font>
  </div>
  <table width="270" border="0" align="center" cellpadding="0" cellspacing="0"> 
<tr> 
   <td bgcolor="#006600"><div align="center"><font color="#FFFFFF" size="1" face="Arial, Helvetica, sans-serif">::::::::::::::::::::::::::::::::::::::</font></div></td> 
</tr> 
<tr> 
   <td bgcolor="#FFFFCC"> <div align="center"><font size="2" face="Arial, Helvetica, sans-serif"><strong> 
   <? echo $SQLrow[1]?> 
   </strong></font></div></td> 
</tr> 
<tr> 
    <td bgcolor="#FFFFCC"> <p> <font size="2" face="Arial, Helvetica, sans-serif"> 
    <label> 
    <input type="radio" name="voto" value="1"> 
    <? echo $SQLrow[2]?></label> 
    <br> 
    <label> 
    <input type="radio" name="voto" value="2"> 
    <? echo $SQLrow[3]?></label> 
    <br>
    <label>
    <input type="radio" name="voto" value="3">
    <? echo $SQLrow[4]?></label>
    <br>
    <label>
    <input type="radio" name="voto" value="4">
    </label>
    <? echo $SQLrow[5]?>    <br>
    <input type="radio" name="voto" value="5">
    <label>    <? echo $SQLrow[6]?></label>
    <br>
    <label>
    <input type="radio" name="voto" value="6">
    <? echo $SQLrow[7]?></label>
    <br>
    <label>
    <input type="radio" name="voto" value="7">
    <? echo $SQLrow[8]?></label>
    <br>
    <label>
    <input type="radio" name="voto" value="8">
    <? echo $SQLrow[9]?></label>
    <br> 
    <label>    </label> 
    <label>    </label>
    </font></p>
      <p><font size="2" face="Arial, Helvetica, sans-serif"><br> 
      </font></p></td> 
</tr> 
<tr> 
    <td bgcolor="#FFFFCC"> <div align="center"> 
      <font face="Arial, Helvetica, sans-serif">
      <input type="submit" name="Submit" value="Aceptar"> 
      </font></div></td> 
</tr> 
</table> 
<div align="left"></div>
</form>
resultado.php

Código PHP:
<? 
//recibo el voto 
$voto $_POST["voto"]; 
//recibo el id de la encuesta 
$encid $_POST["encid"]; 

$servidor="localhost"
$usuario="root"
$password="pass"
$base="base_de_datos"
$SQLid mysql_connect($servidor,$usuario,$password); 
mysql_select_db($base,$SQLid); 
$SQLquery "UPDATE encuesta SET encval$voto = encval$voto+1, enctot = enctot+1 where encid=$encid"
$SQLresult mysql_query($SQLquery,$SQLid); 
$SQLquery "SELECT * FROM mamasita where encid=$encid"
$SQLresult mysql_query($SQLquery,$SQLid); 
$SQLrow mysql_fetch_array($SQLresult); 
?> 
<P ALIGN="left"><font size="4" face="Arial, Helvetica, sans-serif"><strong><em>Asi van las votaciones hasta el momento </em></strong></font></P> 
<P ALIGN="left"><font face="Arial, Helvetica, sans-serif"><strong><font size="2"> 
<? 
echo $SQLrow["encprg"
?> 
</font></strong></font></P> 
<div align="left">
  <TABLE ALIGN="left" WIDTH="442" BORDER="1" CELLSPACING="1" CELLPADDING="1"> 
    <!--DWLayoutTable--> 
    <TR> 
    <TD ALIGN="left" WIDTH="35%"><font size="3" face="Arial, Helvetica, sans-serif"><? echo $SQLrow["encrpt1"]?> 
    </font>
      <div align="left"></div></TD> 
    <TD width="49%"><font face="Arial, Helvetica, sans-serif"><IMG HEIGHT="5" WIDTH="<? echo $SQLrow["encval1"]*100/$SQLrow["enctot"]?>%" SRC="imagenes/barra1.gif"></font></TD> 
    <TD ALIGN="center" WIDTH="16%"><font face="Arial, Helvetica, sans-serif"><? echo $SQLrow["encval1"]?> votos</font></TD> 
    </TR> 
    <TR>
      <TD ALIGN="left"><font size="3" face="Arial, Helvetica, sans-serif"><? echo $SQLrow["encrpt2"]?> </font>
          <div align="left"></div></TD>
      <TD><font face="Arial, Helvetica, sans-serif"><IMG HEIGHT="5" WIDTH="<? echo $SQLrow["encval2"]*100/$SQLrow["enctot"]?>%" SRC="imagenes/barra2.gif"></font></TD>
      <TD ALIGN="center"><font face="Arial, Helvetica, sans-serif"><? echo $SQLrow["encval2"]?> votos</font></TD>
    </TR>
    <TR>
      <TD ALIGN="left"><font size="3" face="Arial, Helvetica, sans-serif"><? echo $SQLrow["encrpt3"]?> </font>
          <div align="left"></div></TD>
      <TD><font face="Arial, Helvetica, sans-serif"><IMG HEIGHT="5" WIDTH="<? echo $SQLrow["encval3"]*100/$SQLrow["enctot"]?>%" SRC="imagenes/barra3.gif"></font></TD>
      <TD ALIGN="center"><font face="Arial, Helvetica, sans-serif"><? echo $SQLrow["encval3"]?> votos</font></TD>
    </TR>
    <TR>
      <TD ALIGN="left"><font size="3" face="Arial, Helvetica, sans-serif"><? echo $SQLrow["encrpt4"]?> </font>
          <div align="left"></div></TD>
      <TD><font face="Arial, Helvetica, sans-serif"><IMG HEIGHT="5" WIDTH="<? echo $SQLrow["encval4"]*100/$SQLrow["enctot"]?>%" SRC="imagenes/barra4.gif"></font></TD>
      <TD ALIGN="center"><font face="Arial, Helvetica, sans-serif"><? echo $SQLrow["encval4"]?> votos</font></TD>
    </TR>
    <TR>
      <TD ALIGN="left"><font size="3" face="Arial, Helvetica, sans-serif"><? echo $SQLrow["encrpt5"]?> </font>
          <div align="left"></div></TD>
      <TD><font face="Arial, Helvetica, sans-serif"><IMG HEIGHT="5" WIDTH="<? echo $SQLrow["encval5"]*100/$SQLrow["enctot"]?>%" SRC="imagenes/barra1.gif"></font></TD>
      <TD ALIGN="center"><font face="Arial, Helvetica, sans-serif"><? echo $SQLrow["encval5"]?> votos</font></TD>
    </TR>
    <TR>
      <TD ALIGN="left"><font size="3" face="Arial, Helvetica, sans-serif"><? echo $SQLrow["encrpt6"]?> </font>
          <div align="left"></div></TD>
      <TD><font face="Arial, Helvetica, sans-serif"><img height="5" width="<? echo $SQLrow["encval6"]*100/$SQLrow["enctot"]?>%" src="imagenes/barra2.gif"></font></TD>
      <TD ALIGN="center"><font face="Arial, Helvetica, sans-serif"><? echo $SQLrow["encval6"]?> votos</font></TD>
    </TR>
    <TR>
      <TD ALIGN="left"><font size="3" face="Arial, Helvetica, sans-serif"><? echo $SQLrow["encrpt7"]?> </font>
          <div align="left"></div></TD>
      <TD><font face="Arial, Helvetica, sans-serif"><IMG HEIGHT="5" WIDTH="<? echo $SQLrow["encval7"]*100/$SQLrow["enctot"]?>%" SRC="imagenes/barra3.gif"></font></TD>
      <TD ALIGN="center"><font face="Arial, Helvetica, sans-serif"><? echo $SQLrow["encval7"]?> votos</font></TD>
    </TR>
    <TR>
      <TD ALIGN="left"><font size="3" face="Arial, Helvetica, sans-serif"><? echo $SQLrow["encrpt8"]?> </font>
          <div align="left"></div></TD>
      <TD><font face="Arial, Helvetica, sans-serif"><IMG HEIGHT="5" WIDTH="<? echo $SQLrow["encval8"]*100/$SQLrow["enctot"]?>%" SRC="imagenes/barra4.gif"></font></TD>
      <TD ALIGN="center"><font face="Arial, Helvetica, sans-serif"><? echo $SQLrow["encval8"]?> votos</font></TD>
    </TR>
    <TR>
      <TD colspan="3" ALIGN="left"><div align="center"><font face="Arial, Helvetica, sans-serif">Total de votos emitidos: <? echo $SQLrow["enctot"]?></font></div></TD>
    </TR> 
  </TABLE>
</div>

<P ALIGN="left">&nbsp;</P>
y esta es mi BBDD MySQL:

Código PHP:
CREATE TABLE `encuesta` (
  `
encidint(11NOT NULL auto_increment,
  `
encprgvarchar(50) default NULL,
  `
encrpt1varchar(50) default NULL,
  `
encrpt2varchar(50) default NULL,
  `
encrpt3varchar(50) default NULL,
  `
encrpt4varchar(50) default NULL,
  `
encrpt5varchar(50) default NULL,
  `
encrpt6varchar(50) default NULL,
  `
encrpt7varchar(50) default NULL,
  `
encrpt8varchar(50) default NULL,
  `
encval1int(11NOT NULL default '0',
  `
encval2int(11NOT NULL default '0',
  `
encval3int(11NOT NULL default '0',
  `
encval4int(11NOT NULL default '0',
  `
encval5int(11NOT NULL default '0',
  `
encval6int(11NOT NULL default '0',
  `
encval7int(11NOT NULL default '0',
  `
encval8int(11NOT NULL default '0',
  `
enctotint(11NOT NULL default '0',
  
PRIMARY KEY  (`encid`)
TYPE=MyISAM AUTO_INCREMENT=
como hago para restringir los votos mediante la identificacion del IP del visitante?