Bien, voy a hace un manual para aquellas personas que deseen crear un GuestBook(libro de visitas) en sus páginas.... o sirve para dejar comentarios acerca de un articulo..
Modifico gracias a ^Arkangel^:El guestbook es vulnerable a ataques Html Injection (entre otras cosas), la cual es una tecnica de Deface bastante conocida, la solución sería eliminar el uso del html en el guestbook. Esto solo muestra el funcionamiento básico y sencillo de un Guestbook
Bien este GuestBook, es muy sencillo, asi que si tienen alguna otra Ide pueden ayudar.....
Sientanse libre de modificarlo o distribuirlo.
guestbook.php<html>
<head>
<title></title>
</head>
<body>
<center>
<font face="Arial" size="2">
<form action="comentar.php" name="form" method="POST">
Name: <input type="text" name="txt_name"><br>
E-mail: (no se muestra) <input type="text" name="txt_mail"><br><br>
Comment:<br><textarea rows="10" name="txt_comment"></textarea><br>
<input type="submit" value="submit">
</form>
</font>
</center>
<?php
/* Este es el Script para mostrar los comentarios que estan en la BD */
/* Nos conectamos a la base de datos (debemos cambiar esta info por la de nuestro servidor web */
/* localhost por tu servidor | userlocal por tu usuario | userlocal por el password del usuario */
mysql_connect('localhost','userlocal','userlocal');
/* questbook es la base de datos, la estamos seleccionando aqui */
mysql_select_db("questbook");
/* seleccionamos todos los campos dentro de la tabla guests */
$sql="select * from guests";
/* Enviamos la consulta al servidor y mostramos error en caso de error */
$result= mysql_query($sql) or die(mysql_error());
/* Comprobamos si la tabla esta vacia..... y si esta vacia mostramos el mensaje escrito */
if(mysql_num_rows($result)==0) die("No hay registros para mostrar");
/* Desplegamos cada uno de los registros dentro de una tabla */
echo "<table border=1 cellpadding=4 cellspacing=0>";
/*Priemro los encabezados, es decir los nombres de las columnas*/
echo "<tr>
<th colspan=5> Lista de Usuarios </th>
<tr>
<th> ID </th><th> Nombre</th> <th> Comment </th>
</tr>";
/*Y ahora muestro debajo de los nombres de las columnas todos los registros */
while($row=mysql_fetch_array($result))
{
echo "<tr>
<td> $row[autoID] </td>
<td> $row[name] </td>
<td> $row[COMMENT] </td>
</tr>";
}
echo "</table>";
?>
</body>
</html>
En la página
guestbook.php encontramos el siguiente código
<form action="comentar.php" name="form" method="POST">
Name: <input type="text" name="txt_name"><br>
E-mail: (no se muestra) <input type="text" name="txt_mail"><br><br>
Comment:<br><textarea rows="10" name="txt_comment"></textarea><br>
<input type="submit" value="submit">
</form>
Este código no es más que el formulario que envia la informacion al script que va a enviar la información a la Base De Datos... si dean cuenta en la propiedad action esta definida para comentar.php y estamos utilizando el metodo POST, para en enviarlo como variables.
comentar.php<?php
/* Nos conectamos a la base de datos (debemos cambiar esta info por la de nuestro servidor web */
mysql_connect('localhost','userlocal','userlocal');
/* questbook es la base de datos, la estamos seleccionando aqui */
mysql_select_db("questbook");
/* Pasamos los campos del formularios a Variables... */
$name = $_POST["txt_name"];
/* Aqui comprobamos si el Nombre tiene mas de 0 caracteres */
$len = strlen($name);
if ($len > 0)
{
$mail = $_POST["txt_mail"];
$comment = $_POST["txt_comment"];
/* Insertamos los datos de las variables a la Base de datos..... */
$query = "INSERT INTO guests (autoID, name, mail, comment) VALUES (NULL, '$name', '$mail', '$comment')";
mysql_query($query) or die(mysql_error());
}
?>
<html>
<head>
</head>
<body>
<SCRIPT LANGUAGE="javascript">
/* Redireccionamos el navegador al formulario */
location.href = "guestbook.php";
</SCRIPT>
</body>