Discussion:
[DW-8]Hacer encuesta
(demasiado antiguo para responder)
Astrow
2008-05-26 12:09:01 UTC
Permalink
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
Anuack Technology de Colombia
2008-05-27 04:08:27 UTC
Permalink
En mi humilde experiencia, que guarde la IP y la respuesta

Hace tiempo me dieron ese consejo. Cuando le de clic, guarde la IP de la
maquina. Da seguridad y al mismo tiempo la respuesta

Antes de guardad el resultado, el verifique si la IP y la variable se
encuentra registrada.

Para capturar la IP hay muchísimos código. Pero como siempre digo...... Cual
de todos funciona?

Cuando llego al desespero de buscar código que funciona................ es
cuando pregunto en el foro

Saludos desde Colombia

www.anuack.com
Post by Astrow
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
Loading...