Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/06/2007, 09:14
Avatar de polecat
polecat
 
Fecha de Ingreso: diciembre-2003
Ubicación: Argentina
Mensajes: 391
Antigüedad: 20 años, 5 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