Código PHP:
<html>
<head>
<title>Libro de visitas</title>
<link rel="STYLESHEET" type="text/css" href="estilo.css">
</head>
<body>
<br>
<table align="center" width="550" cellspacing="2" cellpadding="8" border="0" bgcolor="#ffffff">
<tr>
<td>
<h1>Libro de visitas PHP Flotdesign (source.php) </h1>
<?
//conecto con la base de datos
$db_slp['dbhost'] = 'localhost';
$db_slp['dbuser'] = 'vn000008_root';
$db_slp['dbpassword'] = 'extreme';
$db_slp['dbname'] = 'pruebas';
$db_conexion= mysql_connect($db_slp['dbhost'],$db_slp['dbuser'],$db_slp['dbpassword']) or die("No se pudo conectar a la base de datos");
mysql_select_db($db_slp['dbname']) or die("no se puede acceder a la base de datos");
if (!$_POST){
//si no recibo nada por el formulario de firma del libro, muestro las firmas del libro
//construyo la sentencia SQL
$ssql = "SELECT * FROM librovisitas";
//se mostrarán las últimas fimas, aunque habrá un enlace en la parte de abajo que se podrá pulsar para ver más firmas
if (isset($_GET["vermas"])){
$ssql .= " WHERE id_librovisitas_php <= ".$vermas;
}
//ordeno la sentencia y limito el numero de resultados
// $ssql .= " LIMIT 11 ORDER BY id_librovisitas_php DESC";
//tomo el juego de resultados
$resultid = mysql_db_query($db_slp['dbname'],"SELECT * FROM librovisitas") or die(mysql_error());
?>
Aquí puedes leer los mensajes de los visitantes y también puedes dejar el tuyo utilizando el formulario de abajo.
<br>
<br>
<span class=fuente8><b>Muchas gracias por tu participación</b></span>
<br>
<br>
<?
//muestro los datos en un bucle
$num_filas = 0;
while($damefila=mysql_fetch_object($resultid) or die(mysql_error()) && ($num_filas < 10)){
?>
<table align="center" width="100%" cellspacing="2" cellpadding="0" border="0">
<tr>
<td valign="top" class=fuente8><b>
<? //si el visitante no introdujo nombre muestro como nombre "Anónimo"
if ($damefila->nombre == "-"){
echo "Anónimo";
}elseif ($damefila->email != "-") {
echo '<a href="mailto:' . $damefila->email . '">' . $damefila->nombre . '</a>';
}else{
echo $damefila->nombre;
}
?></b>:<br>
</td></tr>
<tr><td bgcolor=cccccc colspan="2"><img src="images/pixeltrans.gif" width=1 height=1 border="0"></td></tr>
<td class=fuente8 valign="top">
<?echo strip_tags($damefila->comentario)?>
<td valign="top" align="right" nowrap class=fuente8>
Valoracion: <?echo $damefila->valoracion?>
</td>
</tr>
</table>
<br>
<?
$num_filas++;
} //termina el bucle while
//si quedan más valoraciones en el conjunto de resultados, muestro el enlace de "Ver más"
if ($damefila)
echo "<div align=center><b><a href=\"source.php?vermas=$damefila->id_librovisitas_php\">Ver más mensajes</a></b></div><br>";
//libero el conjunto de resultados
mysql_free_result($resultid);
//incluyo el formulario para firmar
include ("formul_mensaje.html");
}
else
{
//estoy recibiendo datos del fomulario de firmas
//Formateamos un poco el formulario, por si acaso los datos son incorrectos
//eliminamos las etiquetas HTML y PHP de las cadenas de texto
$nombre = strip_tags($_POST["nombre"]);
$email = strip_tags($_POST["email"]);
$comentario = strip_tags($_POST["comentario"]);
//Cortamos las cadenas demasiado largas
$nombre=substr($nombre,0,150);
$email=substr($email,0,80);
//Comprobamos que el visitante se ha molestado en rellenar algo
if (strlen($nombre)==0 and strlen($email)==0 and strlen($comentario)==0)
{
?>
<div align="center"><b>Gracias por el envío</b>.<br><br>Te agradeceríamos, no obstante y si no resulta mucho esfuerzo, que rellenases alguno de los campos para dejar constancia de tu visita.</div>
<?
}else{
//si alguno de los campos falta prefiero colocar un guión o "sin comentarios"
if (!$nombre)$nombre="-";
if (!$email) $email="-";
if (!$comentario) $comentario="Sin comentarios";
//Generamos la ssql e insertamos el registro
$ssql = "INSERT INTO librovisitas_php (nombre,email,valoracion,comentario) VALUES ('" . $nombre . "','" . $email . "'," . $_POST["valoracion"] . ",'" . $comentario . "')";
//echo $ssql . "<p>";
mysql_query($ssql,$conn);
?>
<div align="center"><b>Muchas gracias por tu participación</b></div>
<?
}
?>
<br>
<br>
<div align="center"><b><a href=".">Volver al libro de visitas</a></b></div>
<?
}
mysql_close($conn);
?>
</td>
</tr>
</table>
<br>
</body>
</html>
Todo funciona bien ahora en my machine, jejeje... No me preguntes donde estaba el error, porq el tonto puso los mysql_error() después de haber modificado todo lo relacionado con mysql. Te recomiendo siempre usar mysql_error() y además, deberías buscar al más "moderno" q este libro de visitas, es pobre.
Puedes ir a
http://www.hotscripts.com si no tienes ganas de programar... Pero deberías de tenerlas
Saludos cuidate