Vamos hacer esto.
Código PHP:
<html>
<head></head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<p>Tu comentario:</p>
<p><textarea name="comentario" id="comentario" cols="60" rows="5"></textarea></p>
<p>Tu nombre:</p>
<input name="nombre" type="text" id="nombre" size="40">
<p>Tu e-mail:</p>
<input name="email" type="text" id="email" size="40">
<input type="submit" name="Publicar" id="Publicar" value="Publicar">
</form>
<p><span class="text_3"><strong>Mostrar todos los comentarios</strong></span></p>
</body>
</html>
<?php
//Guarda el nombre del archivo en la variable
$file = "libro.txt";
//Variable comentario definida? El nombre y email no estan vacios?
$comentario = $_POST['comentario'];
$nombre = $_POST['nombre'];
$email = $_POST['email'];
//El archivo se abre para lectura-escritura
$fp = fopen($file, "a+");
//Leer todos los datos y almacenar en $old
$old = fread($fp, filesize($file));
//Se crea el vinculo de email
$email = "<a href=\"mailto:$email\">$email </a>";
//Se incluye la fecha y se le da formato
$dateOfEntry = date("Y-n-j");
//Ocultar caracteres HTML, eliminar slashes, mantener saltos de linea
$comentario = htmlspecialchars($comentario);
//$comentario = stripslashes(n12br($comentario));
//Montar la entrada (entry) del libro de visitas
$entry ="<p><b>$nombre</b> ($email) wrote on <i>$dateOfEntry</i>: <br>$comentario</p>\n";
//El cursor invisible salta al principio
rewind($fp);
//Escribir la nueva entrada antes de las antiguas
fputs($fp, "$entry \n");
//Cerrar archivo
fclose($fp);
//Mostrar archivo completo
readfile($file);
?>