Foros del Web » Programando para Internet » PHP »

error en encuesta!!!

Estas en el tema de error en encuesta!!! en el foro de PHP en Foros del Web. hola señores vengo a solicitar su ayuda , resulta que me encontre por ahi un script sencillo para poner encuestas , el script funciona y ...
  #1 (permalink)  
Antiguo 07/07/2003, 14:11
Avatar de aprendiz_82  
Fecha de Ingreso: diciembre-2002
Ubicación: algun lugar....
Mensajes: 536
Antigüedad: 21 años, 3 meses
Puntos: 1
error en encuesta!!!

hola señores vengo a solicitar su ayuda , resulta que me encontre por ahi un script sencillo para poner encuestas , el script funciona y registra los votos pero , cuando el script esta en cero , que no ha recibido votos , manda error en algunas de sus lineas de codigo , entonces me gustaria saber si alguien me puede ayudar a corrgirlo.

ahora a parte de eso tengo otras dos dudas , la primer es , como le hago si quisera agregar mas de las tres opciones con las que viene el script?

segundo , el script solo usa dos archivos : encuestas.php y encuesta.dat , como se crea el archivo .dat , de antemano muchas gracias , aqui les dejo el codigo para que lo prueben , si no me equivoco , el error se da entre las lineas 35 y 42.




codigo de encuestas.php

<!-- www.zap.es.vg Scripts para webmasters -->
<form name=encuesta action="encuestas.php" method="post">
<table>
<tr><td colspan=2>¿Que es lo que mas buscas en internet?</td></tr>
<tr><td>A</td><td>Cosas para Descargar</td><td><input type=radio name="respuesta" Value="1"></td></tr>
<tr><td>B</td><td>Informacion de tu Interes</td><td><input type=radio name="respuesta" Value="2"></td></tr>
<tr><td>C</td><td>Lo Que Sea</td><td><input type=radio name="respuesta" Value="3"></td></tr>
</table>
<input type="submit" value="Enviar">
</form>
<?
//$respuestas[0] SON EL Nº DE VOTOS
$respuestas[0]=$respuestas[1]=$respuestas[2]=$respuestas[3]=0;
$votos=0;
if(file_exists("encuesta.dat"))
{
$f=fopen("encuesta.dat","r");
$Buffer=fread($f,filesize("encuesta.dat"));
$respuestas=explode("-",$Buffer);
fclose($f);
$votos=1;
}

if((isset($respuesta))&&($respuesta>=1)&&($respues ta<=3))
{
$f=fopen("encuesta.dat","w");
$respuestas[$respuesta]++;
$respuestas[0]++;
$Buffer=$respuestas[0]."-".$respuestas[1]."-".$respuestas[2]."-".$respuestas[3];
fwrite($f,$Buffer,strlen($Buffer));
fclose($f);
$votos=1;
}

if($votos)
{
$suma=$respuestas[3]+$respuestas[1]+$respuestas[2];
$v[0]=(int)(($respuestas[1]*100)/$suma*100)/100;
$v[1]=(int)(($respuestas[2]*100)/$suma*100)/100;
$v[2]=(int)(($respuestas[3]*100)/$suma*100)/100;

echo"<P><table><tr><td>A</td><td><DIV style='background-color=000099;width=$v[0]'></td><td>$v[0]%</td></tr>";
echo"<tr><td>B</td><td><DIV style='background-color=000099;width=$v[1]'></td><td>$v[1]%</td></tr>";
echo"<tr><td>C</td><td><DIV style='background-color=000099;width=$v[2]'></td><td>$v[2]%</td></tr></table><P>Nº DE VOTOS: $respuestas[0]";
}
else
echo"<P>Aun no existen votos en la encuesta actual";

?><!-- www.zap.es.vg Scripts para webmasters -->
__________________
El Poder De Uno , El Poder De Todos:pirata:
Que Pasa
Femenina Online
  #2 (permalink)  
Antiguo 07/07/2003, 14:26
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 2 meses
Puntos: 5
Código PHP:
<!-- [url]www.zap.es.vg[/url] Scripts para webmasters -->
<form name=encuesta action="encuestas.php" method="post">
<table>
<tr><td colspan=2>¿Que es lo que mas buscas en internet?</td></tr>
<tr><td>A</td><td>Cosas para Descargar</td><td><input type=radio name="respuesta" Value="1"></td></tr>
<tr><td>B</td><td>Informacion de tu Interes</td><td><input type=radio name="respuesta" Value="2"></td></tr>
<tr><td>C</td><td>Lo Que Sea</td><td><input type=radio name="respuesta" Value="3"></td></tr>
</table>
<input type="submit" value="Enviar">
</form>
<?
//$respuestas[0] SON EL Nº DE VOTOS
$respuestas[0]=$respuestas[1]=$respuestas[2]=$res
puestas
[3]=0;
$votos=0;
if(
file_exists("encuesta.dat"))
{
$f=fopen("encuesta.dat","r");
$Buffer=fread($f,filesize("encuesta.dat"));
$respuestas=explode("-",$Buffer);
fclose($f);
$votos=1;
}

if((isset(
$respuesta))&&($respuesta>=1)&&($respuesta<=3))
{
$f=fopen("encuesta.dat","w");
$respuestas[$respuesta]++;
$respuestas[0]++;
$Buffer=$respuestas[0]."-".$respuestas[1]."-".$respuestas[2]."-".$respuestas[3];
fwrite($f,$Buffer,strlen($Buffer));
fclose($f);
$votos=1;
}

if(
$votos)
{
$suma=$respuestas[3]+$respuestas[1]+$respuestas[
2];
$v[0]=(int)(($respuestas[1]*100)/$suma*100)/100;
$v[1]=(int)(($respuestas[2]*100)/$suma*100)/100;
$v[2]=(int)(($respuestas[3]*100)/$suma*100)/100;

echo
"<P><table><tr><td>A</td><td><DIV style='background-color=000099;width=$v[0]'></td><td>$v[0]%</td></tr>";
echo
"<tr><td>B</td><td><DIV style='background-color=000099;width=$v[1]'></td><td>$v[1]%</td></tr>";
echo
"<tr><td>C</td><td><DIV style='background-color=000099;width=$v[2]'></td><td>$v[2]%</td></tr></table><P>Nº DE VOTOS: $respuestas[0]";
}
else
echo
"<P>Aun no existen votos en la encuesta actual";

?><!-- [url]www.zap.es.vg[/url] Scripts para webmasters -->


Acostumbrate a colorear el código (usando el boton [ PHP ]), de otra forma es dificil que alguien se tome el tiempo de tratar de entender tu script...
__________________
Manoloweb
  #3 (permalink)  
Antiguo 07/07/2003, 16:06
Avatar de aprendiz_82  
Fecha de Ingreso: diciembre-2002
Ubicación: algun lugar....
Mensajes: 536
Antigüedad: 21 años, 3 meses
Puntos: 1
De acuerdo ok!!

tomare en cuenta eso de los colores y muchas gracias !
__________________
El Poder De Uno , El Poder De Todos:pirata:
Que Pasa
Femenina Online
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 10:22.