Foros del Web » Programando para Internet » PHP »

Utilizar cookies

Estas en el tema de Utilizar cookies en el foro de PHP en Foros del Web. Hola a todos: Tengo el siguiente codigo para hacer encuestas ? //recibo el voto $voto = $_POST["voto"]; //recibo el id de la encuesta $encid = ...
  #1 (permalink)  
Antiguo 26/05/2008, 09:54
 
Fecha de Ingreso: febrero-2007
Mensajes: 165
Antigüedad: 12 años, 10 meses
Puntos: 0
Utilizar cookies

Hola a todos:

Tengo el siguiente codigo para hacer encuestas


?
//recibo el voto
$voto = $_POST["voto"];
//recibo el id de la encuesta
$encid = $_POST["encid"];

$servidor="localhost";
$usuario="root";
$password="";
$base="bd";
$SQLid = mysql_connect($servidor,$usuario,$password);
mysql_select_db($base,$SQLid);
$encid =($_POST["encid"])?$_POST["encid"]:1;
$SQLquery_update = "UPDATE tblenc SET encval$voto = encval$voto+1, enctot =
enctot+1 where encid=" .$encid;
$SQLresult_update = mysql_query($SQLquery_update,$SQLid);
$SQLquery = "SELECT * FROM tblenc where encid =". $encid;
$SQLresult = mysql_query($SQLquery,$SQLid);
$SQLrow = mysql_fetch_assoc($SQLresult);
$res1= round (($SQLrow['encval1']/$SQLrow['enctot'])*100,2);
$res2= round (($SQLrow['encval2']/$SQLrow['enctot'])*100,2);
$res3= round (($SQLrow['encval3']/$SQLrow['enctot'])*100,2);
$res4= round (($SQLrow['encval4']/$SQLrow['enctot'])*100,2);
?>
<style type="text/css">
<!--
.titulo {
font-size: 22px;
font-style: italic;
font-weight: bold;
font-variant: small-caps;
color: #CC0000;
text-decoration: underline;
font-family: "Trebuchet MS";
}
.pregunta {
font-family: Arial, Helvetica, sans-serif;
font-size: 14px;
font-weight: bold;
color: #333333;
}
.pregunta1 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 16px;
font-weight:bold;
color: #000066;
}
.pregunta2 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 16px;
font-weight:bold;
color: #ffcc99;
}
.pregunta3 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 16px;
font-weight:bold;
color: #999999;
}
.pregunta4 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 16px;
font-weight:bold;
color: #ff0000;
}
.total {font-family: Arial, Helvetica, sans-serif; font-size: 16px;
font-style: italic; font-weight: bold; color: #003333; }
-->
</style>
<body>
<P ALIGN="center" class="titulo">RESULTADOS PARCIALES DE LA
ENCUESTA
</P>
<P ALIGN="center" class="pregunta">
<?
echo $SQLrow["encprg"]
?>
</P>
<TABLE ALIGN="center" WIDTH="78%" BORDER="1" CELLSPACING="1"
CELLPADDING="1">
<!--DWLayoutTable-->
<TR align="center" valign="middle">
<TD WIDTH="32%" valign="middle" class="pregunta1"><? echo
$SQLrow["encrpt1"]?>
<div align="left"></div></TD>
<TD width="52%"><div align="left"><IMG HEIGHT="5" WIDTH="<? echo
$SQLrow["encval1"]*100/$SQLrow["enctot"]?>%"
SRC="imgencuesta/barra1.gif"></div></TD>
<TD WIDTH="16%" valign="middle" class="pregunta1"><? echo
$SQLrow["encval1"]?> votos</TD>
<td class="pregunta1"><? echo $res1."%"; ?></td>
</TR>
<TR align="center" valign="middle">
<TD valign="middle" class="pregunta2"><? echo $SQLrow["encrpt2"]?>

<div align="left"></div></TD>
<TD><div align="left"><IMG HEIGHT="5" WIDTH="<? echo
$SQLrow["encval2"]*100/$SQLrow["enctot"]?>%"
SRC="imgencuesta/barra2.gif"></div></TD>
<TD valign="middle" class="pregunta2"><? echo $SQLrow["encval2"]?>
votos</TD>
<td class="pregunta2"><? echo $res2."%";?></td>
</TR>
<TR align="center" valign="middle">
<TD valign="middle" class="pregunta3"><? echo $SQLrow["encrpt3"]?>
<div align="left"></div></TD>
<TD><div align="left"><IMG HEIGHT="5" WIDTH="<? echo
$SQLrow["encval3"]*100/$SQLrow["enctot"]?>%"
SRC="imgencuesta/barra3.gif"></div></TD>
<TD valign="middle" class="pregunta3"><? echo $SQLrow["encval3"]?>
votos</TD>
<td class="pregunta3"><? echo $res3."%";?></td>
</TR>
<TR align="center" valign="middle">
<TD valign="middle" class="pregunta4"><? echo $SQLrow["encrpt4"]?>
<div align="left"></div></TD>
<TD><div align="left"><IMG HEIGHT="5" WIDTH="<? echo
$SQLrow["encval4"]*100/$SQLrow["enctot"]?>%"
SRC="imgencuesta/barra4.gif"></div></TD>
<TD valign="middle" class="pregunta4"><? echo $SQLrow["encval4"]?>
votos</TD>
<td class="pregunta4"><? echo $res4."%";?></td>
</TR>
</TABLE>
<P ALIGN="center" class="total">Total de votos emitidos: <? echo
$SQLrow["enctot"]?></P>
</body>


Pero lo que he comprobado que puedes votar tantas veces como quieras, me
gustaria saber si a traves de cookies, impedir votar otra vez durante un
tiempo predeterminado, Gracias
  #2 (permalink)  
Antiguo 26/05/2008, 10:39
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 6 meses
Puntos: 2135
Respuesta: Utilizar cookies

Hola serbc27,

Así es con cookies podrías limitar el tiempo para que sea solo 1 vez cada 24 horas, aunque ten en cuenta que si el usuario limpia las cookies podrían votar una vez mas.

Lo ideal es que manejes un sistema de cookies e IP donde puedas bloquear al usuario por el tiempo que tu definas.

Saludos.
  #3 (permalink)  
Antiguo 26/05/2008, 11:28
 
Fecha de Ingreso: febrero-2007
Mensajes: 165
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Utilizar cookies

Lo que pasa que no tengo ni idea como hacer lo de la IP
  #4 (permalink)  
Antiguo 26/05/2008, 11:42
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 6 meses
Puntos: 2135
Respuesta: Utilizar cookies

Hola serbc27,

Para sacar la IP usas $_SERVER['REMOTE_ADDR'].

Saludos.
  #5 (permalink)  
Antiguo 27/05/2008, 03:31
 
Fecha de Ingreso: febrero-2007
Mensajes: 165
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Utilizar cookies

Gracias, en esta web
http://www.celulaweb.net/articulos/php-y-mysql/sistema-de-encuestas-con-restriccion-de-ip

He encontrado un ejemplo muy bueno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:38.