Foros del Web » Programando para Internet » PHP »

ERROR en libro de visitas personalizable

Estas en el tema de ERROR en libro de visitas personalizable en el foro de PHP en Foros del Web. Hola amigos, que tal tanto tiempo? Tengo una consulta que hacerle a todos los expertos de PHP....estoy instalando un libro de visitas MUY simple en ...
  #1 (permalink)  
Antiguo 20/06/2007, 09:14
Avatar de polecat  
Fecha de Ingreso: diciembre-2003
Ubicación: Argentina
Mensajes: 391
Antigüedad: 20 años, 4 meses
Puntos: 0
ERROR en libro de visitas personalizable

Hola amigos, que tal tanto tiempo?
Tengo una consulta que hacerle a todos los expertos de PHP....estoy instalando un libro de visitas MUY simple en mi web, que de hecho me gusta por su simplicidad, no funciona con base de datos ni nada...

Al momento de tocar el boton FIRMAR, me tira el siguiente error:

Código:
Warning: fread() [function.fread]: Length parameter must be greater than 0 in (aqui la ruta de mi sitio)\index.php on line 73


El mensaje aparece igual, pero no queda bien que el visitante obtenga este error....ademas es muy muy muy poco seguro.

Alguien sabe que puede ser? La carpeta donde esta el archivo mensajes.php (que es donde se guardan los mensajes) tiene permisos de escritura.

El archivo index.php es este:

Código PHP:
include("config.php");
    include(
"funciones.php");

    
Template("html/tpl_arriba.html");

    switch(
$accion) {

    
// Formulario para publicar un mensaje

    
case firmar:
    
Template("html/tpl_formulario.html");
    break;

    
// Publicar un mensaje

    
case publicar:

    
$fecha date("d-m-y H:i a");

    
// Comprobación de campos

    
$nombre trim($nombre);
    
$email trim($email);
    
$mensaje trim($mensaje);

    if(empty(
$nombre)) {
          
$error[] = $alerta[0];
    }
    if(empty(
$email)) {
          
$error[] = $alerta[1];
    }
    if(empty(
$mensaje)) {
        
$error[] = $alerta[2];
    }

    
// Filtro de malas palabras

    
if($FiltroGroserias == "SI") {
    for(
$i 0$i sizeof($palabrotas); $i++) {
    if(
ereg($palabrotas[$i], $nombre) OR ereg($palabrotas[$i], $email) OR ereg($palabrotas[$i], $mensaje)) {        
        
$error[] = $alerta[3];
    }
    }
    }

    if(
$error) {

    include(
"html/tpl_error.html");

    } else {

    
// Filtramos el mensaje

    
HTML();
    
Remplazar();
    
$mensaje ereg_replace("\r\n","<br>"$mensaje);

    
//  Guardamos la firma en el fichero

    
$fp fopen($FicheroId,"r");
    
$id fread($fpfilesize($FicheroId));
    
$id ++;
    
fclose($fp);

    
$fp fopen($FicheroId"w");
    
fwrite($fp$id);
    
fclose($fp);

    
$firma "$id|@|$nombre|@|$email|@|$url|@|$mensaje|@|$fecha|@|\n";
    
$fp fopen($FicheroBase"a");
    
fwrite($fp$firma);
    
fclose($fp);

    
Template("html/tpl_correcto.html");

    }
    break;
    default:

    
// Mostrar todas las firmas

    
$Base file($FicheroBase);
    
$Orden array_reverse($Base);

    if(empty(
$paginado)) {
        
$paginado 0;
    }

    
$Mostrar $paginado $LimiteMensajes;

    for (
$i $paginado$i count($Orden) AND $i $Mostrar$i++) {
        
$dato explode("|@|"$Orden[$i]);

    
$nombre $dato[1];
    
$email $dato[2];
    
$url $dato[3];
    
$mensaje $dato[4];
    
$fecha $dato[5];

    
// Template

    
Template("html/tpl_mensajes.html");

    }

    echo 
"<table cellpadding='4' cellspacing='1' width='450' align='center' class='normal'>";
    echo 
"<tr><td width='50%'>";
    
Paginacion();
    echo 
"</td><td width='100%' align='left'>";
    echo 
"<b><a href='index.php?accion=firmar'>DEJAR MENSAJE!</a></b>";
    echo 
"</td></tr></table>";

    }

    
Template("html/tpl_abajo.html");
?> 
Desde y muchisimas gracias!
Espero alguna respuesta!
Saludos
Pole
__________________
Juan Manuel
Diseño web/Gráfico & Ilustración
E-mail: [email protected] / Skype: jmbosi
Portfolio: www.facebook.com/hacelobiendesign
  #2 (permalink)  
Antiguo 13/10/2007, 14:11
 
Fecha de Ingreso: octubre-2007
Mensajes: 10
Antigüedad: 16 años, 6 meses
Puntos: 1
Re: ERROR en libro de visitas personalizable

Tengo el mismo libro funcionando PERFECTAMENTE en un sitio ( tiene 53 mil firmas) Pero no puedo hacerlo funcionar en otros 4, que están alojados en diferentes lugares, en EEUU y Argentina.
¿¿Que es lo que pasa?? Necesito ayuda! Gracias!
Vibea
  #3 (permalink)  
Antiguo 14/10/2007, 09:33
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: ERROR en libro de visitas personalizable

Tu funcion filesize() en
Código PHP:
$id fread($fpfilesize($FicheroId)); 
Una solución práctica para evitar este tipo de errores es colocar @funcion() en vez de funcion():

Código PHP:
$id = @fread($fpfilesize($FicheroId)); 
Un saludo,
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 05:12.