Ver Mensaje Individual
  #5 (permalink)  
Antiguo 31/01/2010, 20:06
estudio54
 
Fecha de Ingreso: enero-2010
Mensajes: 35
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Problemas con "Include"

Hola,

Gracias a todos por las respuestas.
En principio parece que me indica que hay un error en la variable $total_votos (linea 76). No funciona con mysql, como podeis ver los datos se guardan en un archivo de texto plano.

Por otra parte, quisiera plantear otra cuestión. Esta encuesta esta programada para utilizaruna unica imagen "jpg" como barra grafica de porcentaje. Quisiera saber como podría implementar una distinta para la otra respuesta. Dejando una verde para votos positivos y una roja para los negativos.

Os dejo el script:

Código PHP:
$titulo = "Opina"; 
$archivo = "votos.txt";    
$archivoip = "ips.txt";        

function 
YaVotaste() {        
global 
$archivoip;
global 
$REMOTE_ADDR;
$ips = fopen($archivoip, "r");
while (!
feof($ips)) {
    
$ip = fgets($ips, 20);

    if (
$ip == $REMOTE_ADDR . "\r\n") {
        
$coincide = 1;
        break;
        }
    }
    
fclose($ips);
    if (!
$coincide) {
    
$ips = fopen($archivoip, "a");
    
fputs($ips, $REMOTE_ADDR . "\r\n");
    
fclose($ips);
    return 
false;
    }
    else {
    return 
true;
    }
}
function 
agregaVotacion($voto) {        
    global 
$archivo;
    
$leer_votacion = fopen($archivo, "r");
    
$tu_voto = fread($leer_votacion, filesize($archivo));
    
fclose($leer_votacion);
    
$votos = split('[|:]', $tu_voto);
    for (
$i = 1; $i < count($votos); $i = $i + 2) {
    
$nombre = $i - 1;
    if (
$votos[$nombre] == $voto) {
        
$votos[$i]++;
        }

    if (
$i == (count($votos) - 1)) {
        
$act_Voto .= $votos[$nombre] . ":" . $votos[$i];
        }
    else {
        
$act_Voto .= $votos[$nombre] . ":" . $votos[$i] . "|";
        }
    }

    
$escribe_archivo = fopen($archivo, "w");
    
fputs($escribe_archivo, $act_Voto);
    
fclose($escribe_archivo);
}


function 
mostrar($msgs) {            
    global 
$titulo, $archivo;

    echo 
"<html>";
    echo 
"<head>";
    echo 
"<title>$titulo - Resultados</title>";
    
    global 
$clscr;
    echo 
"</head>";
    echo 
"<body>";
    
        
    echo 
"<font face='Tahoma' size='2'>";
    
$leer_votacion = fopen($archivo, "r");
    
$tu_voto = fread($leer_votacion, filesize($archivo));
    
fclose($leer_votacion);
    
$votos = split('[|:]', $tu_voto);
    echo 
"<u><b>Resultados</b></u><br>";
    
    for (
$i = 1; $i < count($votos); $i = $i + 2)
    {
    
$total_votos += $votos[$i];
    }

    for (
$i = 1; $i < count($votos); $i = $i + 2) {
    
$nombre = $i - 1;
    if (
$total_votos == 0) {
    
$porcnt = 0;
    }
    else {
    
$porcnt = $votos[$i] / $total_votos * 100;
    
$porcnt = round($porcnt, 1);
    }

    echo 
"<br>";
    echo 
"\t$votos[$nombre] -> ";
    echo 
"\t<b>$votos[$i]</b> votos <br>";

        
    if (
$porcnt == 0) {
    echo 
"\t<img src=barra.jpg width=$porcnt height=15> <br><b>$porcnt%</b>";
    }

        
    else {
    echo 
"\t<img src=barra.jpg width=$porcnt height=15> <br><b>$porcnt%</b> <br>";
    }

    
        echo 
"<br>";
    }
    echo 
"Total Votos: <b>$total_votos</b><br>";
    if(
$clscr==1)
    {
        echo 
"<a href=javascript:window.close();>Cerrar</a>";
    }
    else
    {
        echo 
"<a href=javascript:history.back(-1);>Volver</a>";
    }
        
    if (isset(
$msgs)) {
        echo 
"$msgs";
    }
     echo 
"<br>";
    echo 
"</body>";
    echo 
"</html>";
}

if (!isset(
$voto)) {
    
mostrar("");
    exit;
}
if (
YaVotaste()) {
    
mostrar("<br><br><b>No puede votar dos veces.<br> Gracias por su participación</b>");
    exit;
}
agregaVotacion($voto);
mostrar("");