Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

problema db con php

Estas en el tema de problema db con php en el foro de Bases de Datos General en Foros del Web. hoy he estado mirando por los manuales de Desarrolloweb y me ha gustado el de crear un libro de visitas con php y Mysql, decir ...
  #1 (permalink)  
Antiguo 05/09/2005, 13:14
 
Fecha de Ingreso: mayo-2005
Mensajes: 11
Antigüedad: 19 años, 6 meses
Puntos: 0
problema db con php

hoy he estado mirando por los manuales de Desarrolloweb y me ha gustado el de crear un libro de visitas con php y Mysql, decir que soy novato y lo que he hecho a sido copiar el codigo para probarlo en mi web.
He hecho todo lo que me decian pero no consiguo que funcione. la base de datos la he creado correctamente pero algo ha de fallar, os dejo el codigo fuente por si veis algun error,
muchas gracias

Por una parte esta el formulario con el nombre formul_mensaje.html

<form name=librovisitas action="index.php" method="post">
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td class=titcol>&nbsp;<b>Firma el Libro de Visitas</b></td>
</tr>
<tr>
<td class=fuente8>&nbsp;D&eacute;janos tu mensaje en el libro de visitas <br>
<br>
</td>
</tr>
<tr>
<td>
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td class=fuente8 align="center">
Nombre
<br>
<input type="Text" name="nombre" size="20" maxlength="150">
<br>
<br>
Email
<br>
<input name="email" type="Text" value="no es necesario" size="20" maxlength="100">
<br>
<br>
</td>
<td ALIGN=CENTER class=fuente8 valign="middle">
Comentarios:
<br>
<textarea name="comentario" cols="30" rows="7">escribe lo que quieras</textarea> </td>
</tr>
<tr>
<td colspan=2 align=center class=fuente8>
<br>
<input type="submit" value=" Enviar la firma al libro de visitas ">
</td>
</tr>
</table>
</td>
</tr>
</table>
</form>





Y por otra parte el index.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</h1>
<?
//conecto con la base de datos
$conn = mysql_connect("localhost","9979","*********");
mysql_select_db("librovisitaslabaranda_php",$conn) ;


if (!$HTTP_POST_VARS)
{
//si no recibo nada por el formulario de firma del libro, muestro las firmas del libro
//construyo la sentencia SQL
$ssql = "SELECT * FROM librovisitaslabaranda_php";

//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_librovisitaslabaranda_php<=" . $vermas;

//ordeno la sentencia y limito el numero de resultados
$ssql .= " ORDER BY id_librovisitaslabaranda_php desc limit 11";

//tomo el juego de resultados
$resultid = mysql_query($ssql,$conn);
?>

Aqu&iacute; puedes leer los mensajes de los visitantes y tambi&eacute;n puedes dejar el tuyo utilizando el formulario de abajo.
<br>
<br>
<span class=fuente8><b>Muchas gracias por tu participaci&oacute;n</b></span>
<br>
<br>
<?
//muestro los datos en un bucle
$num_filas = 0;
while (($damefila=mysql_fetch_object($resultid)) && ($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>

</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=\"index.php?vermas=$damefila->id_librovisitaslabaranda_php\">Ver m&aacute;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&iacute;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 librovisitaslabaranda_php (nombre,email,comentario) VALUES ('" . $nombre . "','" . $email . "','" . $comentario . "')";
//echo $ssql . "<p>";
mysql_query($ssql,$conn);
?>
<div align="center"><b>Muchas gracias por tu participaci&oacute;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>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:06.