Acabo de terminar un sencillo libro de visitas en PHP con "base de datos" en TXT (vamos, ninguna base de datos xD) para mi web que, como no tengo ni idea de programación, ha salido con -mucho- esfuerzo gracias a un par de tutoriales que encontré por Internet. Funcionar, lo que es funcionar, funciona, pero hay un par de cosas que querría solucionar. En concreto, una cosa que querría solucionar y otra que quisiera añadir.
Lo que quiero solucionar es que, imagino que debido al uso del simple TXT, el resultado que se muestra en pantalla para cada comentario omite los saltos de línea, por lo que todo aparece en un mismo párrafo y queda un poco feo.
Lo que quiero añadir es una galería de smileys. Para esto he investigado un poco ya, pero con mis nulos conocimientos de PHP, mis intentos hasta ahora han sido fallidos. Sé que hay que usar una función de sustitución de caracteres para que un ":)" sea el .gif con el smiley correspondiente, pero no sé exactamente dónde debo colocar esa función.
Os pongo los códigos de los .php que uso:
Nota: El formulario para escribir los comentarios está en otra página diferente a donde se ven los comentarios ya escritos.
verlibro.php: -Esto es lo que pongo en la página donde quiero que se vean los comentarios. Ya no pongo el código HTML, es lo de siempre.
Código PHP:
<?php
readfile("data.txt");
?>
Código PHP:
<div id="form">
<form method="post" action="libro.php">
<div id="izqform">
<label for="Name">Nombre:</label> <input type="text" id="Name" name="Name" />
<label for="Email">E-Mail:</label> <input type="text" id="Email" name="Email" />
<label for="Homepage">Web:</label> <input type="text" id="Homepage" name="Homepage" />
</div>
<div id="derform">
<label for="Comments">Comentarios:</label> <textarea id="Comments" name="Comments" class="input" rows="6" cols="20"></textarea>
</div>
<div id="botonform"><input type="submit" class="button" value="Enviar" /></div>
</form>
</div>
Código PHP:
<?php
$name = $_POST['Name'];
$email = $_POST['Email'];
$homepage = $_POST['Homepage'];
$comments = $_POST['Comments'];
$timedate = date("M d, Y (g:i a)", time() + 0000);
if ($name == "" or $comments == "") {
echo "<div class=\"fehlerreport\">Los campos Nombre, E-Mail y Comentarios deben contener alguna información.<br />¡Gracias!</div>";
} else {
$oldinfo = file_get_contents("data.txt");
$guestbookdata = fopen("data.txt", "w+");
fwrite($guestbookdata, "<div class=\"posteins\"><a class=\"linktext3\" href=\"mailto:{$email}\">{$name}</a> - <a class=\"linktext3\" href=\"{$homepage}\">{$homepage}</a> - <em>{$timedate}</em> </div>\n");
fwrite($guestbookdata, "<div class=\"postzwei\"><strong>Comentarios:</strong><br /> $comments </div>\n \n");
fwrite($guestbookdata, "$oldinfo");
fclose($guestbookdata);
readfile("data.txt");
}
?>
Muchas gracias de antemano!