Foros del Web » Programando para Internet » PHP »

sobre encuestas

Estas en el tema de sobre encuestas en el foro de PHP en Foros del Web. m tengo una encuesta con mySQL y quiciera saber como hacer para q la gente pueda votar una sola vez por maquina, la encuesta esta ...
  #1 (permalink)  
Antiguo 03/09/2003, 01:34
Avatar de fireifa  
Fecha de Ingreso: noviembre-2002
Ubicación: Saltillo Coahuila Mexico
Mensajes: 384
Antigüedad: 21 años, 5 meses
Puntos: 1
sobre encuestas

m tengo una encuesta con mySQL y quiciera saber como hacer para q la gente pueda votar una sola vez por maquina, la encuesta esta hecha en conjunto con flash, pero el php trae el siguiente cofigo

Código PHP:
<?php
$host 
"host";
$user "Usuario";
$pass "xxxx";
$data "Basededatos";

$tabla "encuestas";

$conx mysql_connect($host$user$pass);
if(!
conx)
  die(
"No se pudo conectar con MySQL");
mysql_select_db($data$conx) or die("No se pudo abrir BD: ".mysql_error());

$id $HTTP_GET_VARS[id];
$voto $HTTP_GET_VARS[voto];


if (
$voto != "") {
  
$voto_por "Votos$voto";
  
$votando mysql_query("UPDATE $tabla SET $voto_por=$voto_por + 1 WHERE ID='$id'"$conx);
  
$resultados mysql_query("SELECT Votos1, Votos2, Votos3, Votos4 FROM $tabla WHERE ID='$id'"$conx);
  
$votos mysql_fetch_row($resultados);
  print 
"&voto1=$votos[0]&voto2=$votos[1]&voto3=$votos[2]&voto4=$votos[3]";
}

$encuesta mysql_query("SELECT * FROM $tabla WHERE ID='$id'"$conx);
$nombre mysql_result($encuesta,$i,"Nombre");
$pregunta mysql_result($encuesta,$i,"Pregunta");
$seleccion1 mysql_result($encuesta,$i,"Seleccion1");
$seleccion2 mysql_result($encuesta,$i,"Seleccion2");
$seleccion3 mysql_result($encuesta,$i,"Seleccion3");
$seleccion4 mysql_result($encuesta,$i,"Seleccion4");

print 
"&nombre=$nombre&pregunta=$pregunta&seleccion1=$seleccion1";
print 
"&seleccion2=$seleccion2&seleccion3=$seleccion3&seleccion4=$seleccion4\n";

mysql_close($conx);
?>

podrian ayudarme????


gracias
Isaac F.
  #2 (permalink)  
Antiguo 03/09/2003, 03:09
Avatar de Pino  
Fecha de Ingreso: abril-2003
Ubicación: Cangas do Morrazo, Pontevedra, Galicia, España, Europa, etc
Mensajes: 490
Antigüedad: 21 años
Puntos: 0
Hola, puedes hacerlo así con cookies:

Código PHP:
<?php
$host 
"host";
$user "Usuario";
$pass "xxxx";
$data "Basededatos";

$tabla "encuestas";

$conx mysql_connect($host$user$pass);
if(!
conx)
  die(
"No se pudo conectar con MySQL");
mysql_select_db($data$conx) or die("No se pudo abrir BD: ".mysql_error());

$id $HTTP_GET_VARS[id];
$voto $HTTP_GET_VARS[voto];
$cookie $HTTP_COOKIES_VARS[ip]; 
$ipuser $_SERVER[$REMOTE_ADDR];

if (
$voto != "" && !isset($ip) && $cookie != "$ipuser") {
  
setcookie("ip","$ipuser"time()+86400*365);
  
$voto_por "Votos$voto";
  
$votando mysql_query("UPDATE $tabla SET $voto_por=$voto_por + 1 WHERE ID='$id'"$conx);
  
$resultados mysql_query("SELECT Votos1, Votos2, Votos3, Votos4 FROM $tabla WHERE ID='$id'"$conx);
  
$votos mysql_fetch_row($resultados);
  print 
"&voto1=$votos[0]&voto2=$votos[1]&voto3=$votos[2]&voto4=$votos[3]";
}
else
{
echo 
"Tu ya has votado.";
}

$encuesta mysql_query("SELECT * FROM $tabla WHERE ID='$id'"$conx);
$nombre mysql_result($encuesta,$i,"Nombre");
$pregunta mysql_result($encuesta,$i,"Pregunta");
$seleccion1 mysql_result($encuesta,$i,"Seleccion1");
$seleccion2 mysql_result($encuesta,$i,"Seleccion2");
$seleccion3 mysql_result($encuesta,$i,"Seleccion3");
$seleccion4 mysql_result($encuesta,$i,"Seleccion4");

print 
"&nombre=$nombre&pregunta=$pregunta&seleccion1=$seleccion1";
print 
"&seleccion2=$seleccion2&seleccion3=$seleccion3&seleccion4=$seleccion4\n";

mysql_close($conx);
?>
Creo que así deberia funcionar.

Un saludo
__________________
Pïno
Webmaster de Programas Lynx
Usuario Registrado de Linux #327681

Mi cuerpo en windows, pero mi mente pensando en linux.
  #3 (permalink)  
Antiguo 03/09/2003, 10:36
Avatar de fireifa  
Fecha de Ingreso: noviembre-2002
Ubicación: Saltillo Coahuila Mexico
Mensajes: 384
Antigüedad: 21 años, 5 meses
Puntos: 1
gracias Pino, lo pruebo y luego te aviso q tal

Saludos
Isaac F.
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 15:33.