Foros del Web » Programando para Internet » PHP »

Como soluciono este problema?..(Encuesta en PHP)

Estas en el tema de Como soluciono este problema?..(Encuesta en PHP) en el foro de PHP en Foros del Web. Hola a todos, yo nuevamente.... He encontrado un sistema de votación simple...para empezar con esto...pero el problema esta en: Yo voto por una respuesta en ...
  #1 (permalink)  
Antiguo 12/02/2011, 11:20
 
Fecha de Ingreso: febrero-2011
Mensajes: 62
Antigüedad: 13 años, 10 meses
Puntos: 0
Pregunta Como soluciono este problema?..(Encuesta en PHP)

Hola a todos, yo nuevamente....
He encontrado un sistema de votación simple...para empezar con esto...pero el problema esta en:
Yo voto por una respuesta en la encuesta...luego me redirige, a encuesta.php, en donde se supone que deben estar los porcentajes de resultados de votacion!!!....(No aparecen!!) ....siempre estan en 0%
Bueno, no se en donde estará el problema!!...por favor, ayudenme!!!
Aqui les dejo el codigo...


Esto en: encuesta.php

Código PHP:
Ver original
  1. <?php
  2.     //cargo el numero de respuestas de un fichero de texto
  3.     $f=fopen("encuesta.txt","r");
  4.     $todas=fread($f,filesize("encuesta.txt"));
  5.     $respuestas=explode(",",$todas);
  6.     fclose($f);
  7.  
  8.     if ($respuesta) {
  9.         //incremento la respuesta y la guardo en el fichero
  10.         $respuestas[$respuesta-1]++;
  11.         $f=fopen("encuesta.txt","w");
  12.         $todas=$respuestas[0].",".$respuestas[1].",".$respuestas[2];
  13.         fwrite($f,$todas,strlen($todas));
  14.         fclose($f);
  15.     }      
  16.  
  17.     $total=$respuestas[0]+$respuestas[1]+$respuestas[2];
  18.     if($total==0) {
  19.         $porcentaje[0]=0;
  20.         $porcentaje[1]=0;
  21.         $porcentaje[2]=0;
  22.     } else {
  23.         $porcentaje[0]=sprintf("%1.2f",(($respuestas[0]/$total)*100));
  24.         $porcentaje[1]=sprintf("%1.2f",(($respuestas[1]/$total)*100));
  25.         $porcentaje[2]=sprintf("%1.2f",(($respuestas[2]/$total)*100));
  26.     }
  27.  
  28. ?>
  29.  
  30.  
  31.  
  32. <table border="0">
  33.  <tr>
  34.   <td colspan="3" align="center">
  35.    Pregunta?
  36.   </td>
  37.  </tr>
  38.  <tr>
  39.   <td align="left">
  40.    <?php echo "$porcentaje[0]%"; ?>
  41.   </td>
  42.   <td align="left">
  43.    <img src="red.png" height="15" width="<?php echo "$porcentaje[0]"; ?>">
  44.   </td>
  45.   <td>
  46.    Opcion1
  47.   </td>
  48.  </tr>
  49.  <tr>
  50.   <td align="left">
  51.    <?php echo "$porcentaje[1]%"; ?>
  52.   </td>
  53.   <td align="left">
  54.    <img src="blue.png" height="15" width="<?php echo "$porcentaje[1]"; ?>">
  55.   </td>
  56.   <td>
  57.    Opcion2
  58.   </td>
  59.  </tr>
  60.  <tr>
  61.   <td align="left">
  62.    <?php echo "$porcentaje[2]%"; ?>
  63.   </td>
  64.   <td align="left">
  65.    <img src="yellow.png" height="15" width="<?php echo "$porcentaje[2]"; ?>">
  66.   </td>
  67.   <td>
  68.    Opcion3
  69.   </td>
  70.  </tr>
  71. </table>


Esto en: encuesta.txt

Código HTML:
Ver original
  1. 0,0,0



Y Esto en mi: index.php

Código PHP:
Ver original
  1. <form method="post" action="encuesta.php" name="encuesta">
  2.             Pregunta?<br />
  3.             <input type="radio" value="1" name="respuesta" /> Opcion1<br />
  4.             <input type="radio" value="2" name="respuesta" /> Opcion2<br />
  5.             <input type="radio" value="3" name="respuesta" /> Opcion3<br />
  6.             <input type="submit" value="Votar" />
  7.         </form>


Eso es todo!!!.....Espero que me ayuden a encontrar el error y resolver esto!!!!
Mil Gracias desde ya!!


Un Cordial Saludo a todos!!!!...
  #2 (permalink)  
Antiguo 12/02/2011, 11:29
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 9 meses
Puntos: 77
Respuesta: Como soluciono este problema?..(Encuesta en PHP)

No veo que definas en ningun lado la variable $respuesta, por lo que nunca entra al if que la aumenta
  #3 (permalink)  
Antiguo 12/02/2011, 11:34
 
Fecha de Ingreso: febrero-2011
Mensajes: 62
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Como soluciono este problema?..(Encuesta en PHP)

Hola darkasecas, Gracias por la respuesta!!!...
Pero como debo hacer..para solucionar eso, es que soy nuevo en php, aun no se programar...pero me estoy esforsando para lograr algo....Ese código lo consegui por la web...
Qué debo aplicarle para que funcione??....Si sabes, podrias facilitarme por favor!!!
Gracias, desde ya!!!


Saludos!!!... (;,
  #4 (permalink)  
Antiguo 12/02/2011, 11:46
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 9 meses
Puntos: 77
Respuesta: Como soluciono este problema?..(Encuesta en PHP)

Debes asignar un valor a la variable $respuesta.

Como es un valor que estas enviando por un formulario, se recibe en el array $_POST

Asi:
$respuesta = $_POST['respuesta'];

Puedes ver mas informacion sobre esto en el manual de PHP
  #5 (permalink)  
Antiguo 12/02/2011, 12:59
 
Fecha de Ingreso: febrero-2011
Mensajes: 62
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Como soluciono este problema?..(Encuesta en PHP)

Gracias darkasecas, pero por favor...dime en donde exactamente clocar eso...No entiendo nadaa!!!...y quiero que funcione mi encuesta!!....gracias por tu paciencia!!!.....pero soy muy, muy novato en esto!!!...no se como hacer!!!!....
Saludos!!
  #6 (permalink)  
Antiguo 12/02/2011, 13:00
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 9 meses
Puntos: 77
Respuesta: Como soluciono este problema?..(Encuesta en PHP)

En realidad puedes colocarlo en cualquier lugar antes de utilizar la variable $respuesta.
  #7 (permalink)  
Antiguo 12/02/2011, 13:07
 
Fecha de Ingreso: febrero-2011
Mensajes: 62
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Como soluciono este problema?..(Encuesta en PHP)

Ya estaaaaaaaaaaaaaaa!!!!....gracias capooooo!!!....mil gracias!!!!.....solo puse el codigo que me pasaste antes de....
Código PHP:
Ver original
  1. $f=fopen("encuesta.txt","r");

Eso en el archivo encuesta.php obvio!!!.... ;)

Y listo!!!....ahora me funciona perfecto!!!!.....
Estoy re contento!!!....es la segunda pregunta que hago aqui en forosdelweb.com y salgo satisfecho!!!...espero poder ayudarlos tb algún día!!!

Un Cordial saludo a todos!!!!

Última edición por arnaldito300; 12/02/2011 a las 13:39
  #8 (permalink)  
Antiguo 12/02/2011, 14:27
 
Fecha de Ingreso: febrero-2011
Mensajes: 62
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Como soluciono este problema?..(Encuesta en PHP)

Disculpen molestar tanto, pero..., quería saber como por ej. cambiar la forma del porsentaje, porque me muestra el porsentaje de esta forma:
52.94%
y yo sólo quiero así:
50%, 70%, 100%, blah, blah, blah!!!...

Que debo modificar en el código???

Saludos!!!....

Etiquetas: encuesta, votacion, sitemap, votos
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:02.