Comunidad PHPeros

Lenguajes => PHP => Tutoriales PHP => Mensaje iniciado por: Revancha en 02 de Julio de 2007, 20:11:40 pm

Título: Simple sistema de encuesta
Publicado por: Revancha en 02 de Julio de 2007, 20:11:40 pm
Recién he desarrollado este simple sistema de encuesta, en el código está toda la explicación.
OJO que la ip puede votar todas las veces que quiere (Tengo que agregar un sistema para que pueda votar sólo una vez al día o algo por el estilo).
encuesta.php

<?
//Desarrollado por Revancha
$opcion = $_POST['opcion'];
//Configuracion
$extencion = ".txt";
$opcion1 = "opcion1".$extencion;
$opcion2 = "opcion2".$extencion;
$opcion3 = "opcion3".$extencion;

if ($_GET['act'] == "votar") //
{
$leer = @file_get_contents($opcion.$extencion); //Leemos el archivo de la opcion votada
$sumar = $leer + 1; //Sumamos 1
$abrir = fopen($opcion.$extencion,'w+'); //Abrimos el archivo en modo de escritura y lectura, si el archivo no existe lo crea
fwrite($abrir, $sumar); //Le sumamon un voto
fclose($abrir); //Cerramos el archivo
header('Location: encuesta.php?act=resultados'); //Redireccionamos a los resultados
}
elseif ($_GET['act'] == "resultados")
{
$op1 = @file_get_contents($opcion1); //Leemos la 1 opcion
$op2 = @file_get_contents($opcion2); //Leemos la 2 opcion
$op3 = @file_get_contents($opcion3); //Leemos la 3 opcion
$contar_votos = $op1 + $op2 + $op3; //Sumamos todo los votos
echo "Resultados: <br />";
echo "Opcion 1: ".$op1."<br />"; //Mostramos los votos de la opcion 1
echo "Opcion 2: ".$op2."<br />"; //Mostramos los votos de la opcion 2
echo "Opcion 3: ".$op3."<br />"; //Mostramos los votos de la opcion 3
echo "Votos totales: ".$contar_votos; //Mostramos la suma de todo los votoa
}
else
{   
//Mostramos el formulario para votar
echo '<form action="encuesta.php?act=votar" method="POST">
  <select name="opcion" onchange="this.form.submit()">
  <option value="">Elije la opcion</option>
  <option value="opcion1">Algo 1</option>
<option value="opcion2">Algo 2</option>
<option value="opcion3">Algo 3</option>
  </select>
  </form>
  <a href="encuesta.php?act=resultados">Ver resultados</a>';
}
/*
  Para agregar mas opciones debes hacer lo siguiente:
  En configracion debes agregar una nueva variable:
  Ejemplo: $opcion4 = "opcion4".$extencion;
  Agregas $opcion y el numero de la opcion
  Luego para mostrar los resultados debes crear una nueva variable
  $op4 = @file_get_contents($opcion4);
  Los mismo que anteriormente $op + el numero de la opcion y luego @file_get_contents($opcion4);
  Y en el echo colocas
  echo "Opcion 4: ".$op4."<br />";
  Finalmente en el formulario agregas <option value="opcion4">Algo 4</option>
  en value="" colocas opcion + el n° de la votacion y luego la Votacion
*/
?>

Si no entiendes algo, si quieres dar una sugerencia, una mejora o un Karma, dime.

Saludos!
Título: Re: Simple sistema de encuesta
Publicado por: mOrK en 02 de Julio de 2007, 20:48:44 pm
Buen tutorial ;)

KARMA +
Título: Re: Simple sistema de encuesta
Publicado por: G2K en 02 de Julio de 2007, 21:21:55 pm
Karma +1 ;)

Aunque yo creo que es mejor hacerlo con mysql ;)
Título: Re: Simple sistema de encuesta
Publicado por: Revancha en 02 de Julio de 2007, 21:28:10 pm
Karma +1 ;)

Aunque yo creo que es mejor hacerlo con mysql ;)
Sí, tienes razón pero esto lo hize en mi tiempo de "ocio"

Gracias por los Karmas
Título: Re: Simple sistema de encuesta
Publicado por: GRDESIGN en 04 de Julio de 2007, 03:44:51 am
YO buscaba unO!! mErCI NENG!! :O
pero me han dicho que es mejor con BD, pro aver si me sirve =.


NOTA MOD "G2K": Porvador prueva de no citar mensajes tan largos como el inicial que contiene un codigo inmenso ;)
Título: Re: Simple sistema de encuesta
Publicado por: GRDESIGN en 05 de Julio de 2007, 02:19:05 am

NOTA MOD "G2K": Porvador prueva de no citar mensajes tan largos como el inicial que contiene un codigo inmenso ;)

 ??? k no cite mensajes tan largos??
es largo el mensaje k havia puesto?? xDDD  :-*
Título: Re: Simple sistema de encuesta
Publicado por: naveda en 05 de Julio de 2007, 12:44:42 pm
GRDESIGN se referia a un mensaje que ha debido de editar y ya no se ve... Sigamos con el tema "Simple sistema de encuesta".
Título: Re: Simple sistema de encuesta
Publicado por: Daeron en 31 de Julio de 2007, 22:11:02 pm
Hola,

¿Y para poner el titulo de la encuesta?, donde lo coloco?. Esque yo pongo el siguiente código:

Código: [Seleccionar]
echo "el titulo que le ponga".$titulo."<br>"; al principio del todo y nada, me sale el titulo arriba pero al votar me sale:

Citar
Warning: Cannot modify header information - headers already sent by (output started at /home/virtual/sitio135293/www/encuesta.php:2) in /home/virtual/sitio135293/www/encuesta.php on line 34
.

Ayudenme pliz