Ayuda enquesta html+php

Iniciado por kodeone, 10 Febrero 2011, 15:42 PM

0 Miembros y 1 Visitante están viendo este tema.

kodeone

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!

Shell Root

Antes de reescribir, seteas una variable con el contenido... Es decir,
Código (php) [Seleccionar]
$sFOpen = fopen($sFile, rw);
$sCount = fgets($sFOpen, 5);
$sCount += 1;
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

kodeone

Cuando llegue a casa lo pruebo y te digo algo, que ahora estoy en el curro.

Un saludo y gracias!

Castg!

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.

kodeone

Cita de: Shell Root en 10 Febrero 2011, 15:48 PM
Antes de reescribir, seteas una variable con el contenido... Es decir,
Código (php) [Seleccionar]
$sFOpen = fopen($sFile, rw);
$sCount = fgets($sFOpen, 5);
$sCount += 1;


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

html:
Código (html4strict) [Seleccionar]

<html>
<head>
</head>

<body>
<form name="f1" method="POST" action="cogeren.php">
Lenguaje de programación preferido:
<table border="3" >
<tr>
<td><b>Java</b></td>
<td><input type="radio" name="r1" value="java"></td>
</tr>
<tr>
<td><b>javascript</b></td>
<td><input type="radio" name="r1" value="javascript"></td>
</tr>
<tr>
<td><b>PHP</b></td>
<td><input type="radio" name="r1" value="php"></td>
</tr>
<tr>
<td><b>Pascal</b></td>
<td><input type="radio" name="r1" value="pascal"></td>
</tr>
</table><br>
<input type="submit" name="s1" value="Enviar">
</form>
</body>

</html>


el php:
Código (php) [Seleccionar]

<html>
<head>
</head>
<body>
<?php
$res $_POST["r1"];

 if ($res=="java"){
$j=$j+1;
}if ($res=="javascript"){
$js=$js+1;
}if ($res=="php"){
$php=$php+1;
}if ($res=="pascal"){
$pa=$pa+1;
}
$archivo "datosen.txt";
$datos "java: $J -
  javascript: 
$js -
  php: 
$php -
  pascal: 
$pa - ";
$abrir fopen($archivo,"rw");
    $contar fgets($abrir,5);
 $contar +=1;
 fputs($abrir,$datos);
 fclose($abrir);
?>

<h1>Resultados</h1><br>

</body>
</html>




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!

Castg!

#5
Código (php) [Seleccionar]

<?php
$res 
$_POST["r1"];
$archivo "datosen.txt";
$abrir file_get_contents($archivo,true);
preg_match_all("/(\d)+/",$abrir,$cargaDatos);
list(
$j,$js,$php,$pa,$contar)=$cargaDatos[0];
if (
$res=="java"){
$j=$j+1;
}elseif (
$res=="javascript"){
$js=$js+1;
}elseif (
$res=="php"){
$php=$php+1;
}elseif (
$res=="pascal"){
$pa=$pa+1;
}
$datos "java: $j -
javascript: 
$js -
php: 
$php -
pascal: 
$pa -
votos: "
.++$contar;
file_put_contents($archivo,$datos);
?>



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

kodeone

Si que funciona, lo que utilizando eso todo está a uno desde el principio.

Muchas gracias!