Foros del Web » Programando para Internet » PHP »

coneccion con mysql

Estas en el tema de coneccion con mysql en el foro de PHP en Foros del Web. Hola soy súper nuevo en esto de php y estoy encantado desde que lo descubrí. Ahora estoy intentando entender las bases de datos los formularios ...
  #1 (permalink)  
Antiguo 05/03/2007, 13:13
 
Fecha de Ingreso: febrero-2004
Mensajes: 134
Antigüedad: 20 años, 9 meses
Puntos: 0
coneccion con mysql

Hola soy súper nuevo en esto de php y estoy encantado desde que lo descubrí.
Ahora estoy intentando entender las bases de datos los formularios todo eso bah...que es espectacular...Entonces en un sitio veo que dice que copiando un script "x" y conectando con la base de datos iba a funcionar de mil maravillas..???
Hice la base de datos, copié el script...pero no hay caso!!! una vez andando quería dezmenuzarlo para entenderlo...pero como no funka...no se que está bien o mal....les voy a poner el código a ver si alguien percibe que está pifiado...desde ya como siempre..un millón de gracias!!!

Código:
<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","pirulo","pirulo2"); 
mysql_select_db("nombre_bbdd",$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 librovisitas_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_librovisitas_php<=" . $vermas;

	//ordeno la sentencia y limito el numero de resultados
	$ssql .= " ORDER BY id_librovisitas_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"></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=\"index.php?vermas=$damefila->id_librovisitas_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 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&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>
El error que me da es:

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /home/gtrs/domains/gtrs.com.ar/public_html/libro/index.php on line 44

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /home/gtrs/domains/gtrs.com.ar/public_html/libro/index.php on line 79

En realidád si me dicen algo a sí se por donde buscar


Mas y mas gracias!!!
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 21:26.