Comunidad de diseño web y desarrollo en internet online

Votacion/Encuesta PHP.

Citar            
MensajeEscrito el 06 May 2010 01:54 pm
Hola, buenos dias.

Tengo una consulta para ustedes xD .

Necesito lograr una encuesta como la siguiente (debajo a la derecha, ¿Qué canción del Mundial te gusta más?):

http://www.tn.com.ar/2010/05/06/deportes/02192052.html

Como puedo lograrla sin usar mysql. La idea es que sea editable como esta (grafica) y muestre los mismos resultados (porcentaje y cantidad de votos total). Se puede lograr sin usar mysql. Si es asi como puedo hacerlo, del modo contrario como hacerlo con mysql?

Espero que alguien pueda darme una mano.

Gracias. Saludos.

Por Rakin

Claber

140 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 May 2010 05:51 pm
Encontre un ejemplo y funciona correctamente, hago la votacion y me da el porcentaje de los votos, ahora bien, como hago para que solo se pueda votar una vez por persona (ip o como fuese) . alguna manera?

Dejo el codigo que estoy usando.

Código :

<?php
   if($_POST['Respuesta'] != ''){
      $Respuesta = $_POST['Respuesta'];
      /* Nombre del Archivo que contiene los resultados */
      $Archivo = "db.txt";
      
      /* Abrimos el archivo como lectura */
      $Lectura = fopen($Archivo, "a+");
      
      /* Guardamos la respuesta del usuario y separamos los valores con el signo "|" */
      $Gurdado = fputs($Lectura, $Respuesta.'|');
      
      /* Recargamos el Archivo */
      $Lectura = fopen($Archivo, "r");
      
      /* Exporamos el contenido del Archivo */
      $Resultados_Lectura = fread($Lectura, filesize ($Archivo));
      
      /* Separamos el contenido por el simbolo "|" */
      $Contenido = explode("|", $Resultados_Lectura);
      
      /* Contamos el total de Respuestas */
      $Total_Respuestas = count($Contenido) - 1;
      
      //for, para sumar ++voto
      for($B = 0; $B < $Total_Respuestas; ++$B){
         if($Contenido[$B] == "Respuesta 1"){
            $Opcion_1++;
         }
         if($Contenido[$B] == "Respuesta 2"){
            $Opcion_2++;
         }
         if($Contenido[$B] == "Respuesta 3"){
            $Opcion_3++;
         }
      }
      /* Redondeamos las respuestas */
      $Respuesta_1 = ($Opcion_1 * 100) / $Total_Respuestas;
      $Respuesta_2 = ($Opcion_2 * 100) / $Total_Respuestas;
      $Respuesta_3 = ($Opcion_3 * 100) / $Total_Respuestas;
   
      $Respuesta_1 = round($Respuesta_1);
      $Respuesta_2 = round($Respuesta_2);
      $Respuesta_3 = round($Respuesta_3);
      
      echo 'Respuesta 1: '.$Respuesta_1.' %<br />';
      echo 'Respuesta 2: '.$Respuesta_2.' %<br />';
      echo 'Respuesta 3: '.$Respuesta_3.' %';
   }
   else{
   ?>
    
        <form action="#" method="post">
            <strong>¿Pregunta?</strong> <br />
            <input name="Respuesta" type="radio" value="Respuesta 1"> Respuesta 1 <br />
            <input name="Respuesta" type="radio" value="Respuesta 2"> Respuesta 2 <br />
            <input name="Respuesta" type="radio" value="Respuesta 3"> Respuesta 3 <br />
            <input type="submit" value="Enviar">    
        </form>
   
   <?php   
   }
?>


Mas el archivo db.txt .

Se puede agregar la opcion de que solo se vote una vez?

Por Rakin

Claber

140 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.