tengo este códgo simple, para encuestas y lo quiero mejorar con vuestra ayuda.
Código PHP:
<?php
//cargo el numero de respuestas de un fichero de texto
$f=fopen("encuesta.txt","r");
$todas=fread($f,filesize("encuesta.txt"));
$respuestas=explode(",",$todas);
fclose($f);
if ($respuesta) {
//incremento la respuesta y la guardo en el fichero
$respuestas[$respuesta-1]++;
$f=fopen("encuesta.txt","w");
$todas=$respuestas[0].",".$respuestas[1].",".$respuestas[2];
fwrite($f,$todas,strlen($todas));
fclose($f);
}
$total=$respuestas[0]+$respuestas[1]+$respuestas[2];
if($total==0) {
$porcentaje[0]=0;
$porcentaje[1]=0;
$porcentaje[2]=0;
} else {
$porcentaje[0]=sprintf("%1.2f",(($respuestas[0]/$total)*100));
$porcentaje[1]=sprintf("%1.2f",(($respuestas[1]/$total)*100));
$porcentaje[2]=sprintf("%1.2f",(($respuestas[2]/$total)*100));
}
?>
<table border="0">
<tr>
<td colspan="3" align="center">
Encuesta: ¿Pregunta?
</td>
</tr>
<tr>
<td align="left">
<?php echo "$porcentaje[0]%"; ?>
</td>
<td align="left">
<img src="red.png" height="15" width="<?php echo "$porcentaje[0]"; ?>">
</td>
<td>
OpcionA
</td>
</tr>
<tr>
<td align="left">
<?php echo "$porcentaje[1]%"; ?>
</td>
<td align="left">
<img src="blue.png" height="15" width="<?php echo "$porcentaje[1]"; ?>">
</td>
<td>
OpcionB
</td>
</tr>
<tr>
<td align="left">
<?php echo "$porcentaje[2]%"; ?>
</td>
<td align="left">
<img src="yellow.png" height="15" width="<?php echo "$porcentaje[2]"; ?>">
</td>
<td>
OpcionC
</td>
</tr>
</table>
<br><br>
<form name="encuesta" action="encuesta.php" method="post"">
¿Pregunta?<br>
<input type=radio name="respuesta" Value="1"> OpcionA <br>
<input type=radio name="respuesta" Value="2"> OpcionB <br>
<input type=radio name="respuesta" Value="3"> OpcionC <br>
<input type="submit" value="Votar">
</form>
y al votar sólo pueda ver los resultados y no poder votar nunca más o al día siguiente, me es igual.
Bueno, a ver si sabéis como hacerlo ;)