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!
Antes de reescribir, seteas una variable con el contenido... Es decir,
$sFOpen = fopen($sFile, rw);
$sCount = fgets($sFOpen, 5);
$sCount += 1;
Cuando llegue a casa lo pruebo y te digo algo, que ahora estoy en el curro.
Un saludo y gracias!
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.
Cita de: Shell Root en 10 Febrero 2011, 15:48 PM
Antes de reescribir, seteas una variable con el contenido... Es decir,
$sFOpen = fopen($sFile, rw);
$sCount = fgets($sFOpen, 5);
$sCount += 1;
Algo estoy haciendo mal porqué no me tira. Pongo el código:
html:
<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:
<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!
<?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
Si que funciona, lo que utilizando eso todo está a uno desde el principio.
Muchas gracias!
o sino dejalo en 0