Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: kodeone en 10 Febrero 2011, 15:42 pm



Título: Ayuda enquesta html+php
Publicado por: kodeone en 10 Febrero 2011, 15:42 pm
Buenas!

Estoy haciendo una enquesta en html y cuando le doy al submit me lo envia a un documento php que me guarda el resultado en un fichero.

¿Cómo puedo hacer para que las variables que meto en el fichero se vayan incrementando cada vez que voto la misma opcion? Si pongo el fichero en modo "a" me lo escribe despues y no va incrementando nada y en modo w me lo machaca.

¿Alguna solución?

Un saludo!


Título: Re: Ayuda enquesta html+php
Publicado por: Shell Root en 10 Febrero 2011, 15:48 pm
Antes de reescribir, seteas una variable con el contenido... Es decir,
Código
  1. $sFOpen = fopen($sFile, rw);
  2. $sCount = fgets($sFOpen, 5);
  3. $sCount += 1;


Título: Re: Ayuda enquesta html+php
Publicado por: kodeone en 10 Febrero 2011, 15:56 pm
Cuando llegue a casa lo pruebo y te digo algo, que ahora estoy en el curro.

Un saludo y gracias!


Título: Re: Ayuda enquesta html+php
Publicado por: Castg! en 10 Febrero 2011, 19:04 pm
Si usas una bd MySQL? Sino tenes que hacer lo que te dice Shell, de cargar el contenido en variables, aumentarlas, y volverlas a guardar.


Título: Re: Ayuda enquesta html+php
Publicado por: kodeone en 10 Febrero 2011, 19:13 pm
Antes de reescribir, seteas una variable con el contenido... Es decir,
Código
  1. $sFOpen = fopen($sFile, rw);
  2. $sCount = fgets($sFOpen, 5);
  3. $sCount += 1;

Algo estoy haciendo mal porqué no me tira. Pongo el código:

html:
Código
  1. </head>
  2.  
  3. <form name="f1" method="POST" action="cogeren.php">
  4. Lenguaje de programación preferido:
  5. <table border="3" >
  6. <tr>
  7. <td><b>Java</b></td>
  8. <td><input type="radio" name="r1" value="java"></td>
  9. </tr>
  10. <tr>
  11. <td><b>javascript</b></td>
  12. <td><input type="radio" name="r1" value="javascript"></td>
  13. </tr>
  14. <tr>
  15. <td><b>PHP</b></td>
  16. <td><input type="radio" name="r1" value="php"></td>
  17. </tr>
  18. <tr>
  19. <td><b>Pascal</b></td>
  20. <td><input type="radio" name="r1" value="pascal"></td>
  21. </tr>
  22. </table><br>
  23. <input type="submit" name="s1" value="Enviar">
  24. </form>
  25. </body>
  26.  
  27. </html>
  28.  

el php:
Código
  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5. <?php
  6. $res = $_POST["r1"];
  7.  
  8. if ($res=="java"){
  9. $j=$j+1;
  10. }if ($res=="javascript"){
  11. $js=$js+1;
  12. }if ($res=="php"){
  13. $php=$php+1;
  14. }if ($res=="pascal"){
  15. $pa=$pa+1;
  16. }
  17. $archivo = "datosen.txt";
  18. $datos = "java: $J -
  19.  javascript: $js -
  20.  php: $php -
  21.  pascal: $pa - ";
  22. $abrir = fopen($archivo,"rw");
  23.    $contar = fgets($abrir,5);
  24. $contar +=1;
  25. fputs($abrir,$datos);
  26. fclose($abrir);
  27. ?>
  28. <h1>Resultados</h1><br>
  29.  
  30. </body>
  31. </html>
  32.  
  33.  
  34.  

Dónde pone resultados sudar del tema, eso lo tengo que hacer. Lo primero es que me lo guarde en el fichero y no guarda nada.

Un saludo y gracias!


Título: Re: Ayuda enquesta html+php
Publicado por: Castg! en 10 Febrero 2011, 20:33 pm
Código
  1. <?php
  2. $res = $_POST["r1"];
  3. $archivo = "datosen.txt";
  4. $abrir = file_get_contents($archivo,true);
  5. preg_match_all("/(\d)+/",$abrir,$cargaDatos);
  6. list($j,$js,$php,$pa,$contar)=$cargaDatos[0];
  7. if ($res=="java"){
  8. $j=$j+1;
  9. }elseif ($res=="javascript"){
  10. $js=$js+1;
  11. }elseif ($res=="php"){
  12. $php=$php+1;
  13. }elseif ($res=="pascal"){
  14. $pa=$pa+1;
  15. }
  16. $datos = "java: $j -
  17. javascript: $js -
  18. php: $php -
  19. pascal: $pa -
  20. votos: ".++$contar;
  21. file_put_contents($archivo,$datos);
  22. ?>
  23.  

Ahi anda, lo único, que el formato del archivo sea asi:
Citar
java: n -
javascript: n -
php: n -
pascal: n -
votos: n


Título: Re: Ayuda enquesta html+php
Publicado por: kodeone en 11 Febrero 2011, 21:08 pm
Si que funciona, lo que utilizando eso todo está a uno desde el principio.

Muchas gracias!


Título: Re: Ayuda enquesta html+php
Publicado por: Castg! en 12 Febrero 2011, 06:45 am
o sino dejalo en 0