Foros del Web » Programando para Internet » PHP »

ayuda por favor

Estas en el tema de ayuda por favor en el foro de PHP en Foros del Web. soy nuevo en php y de hecho en casi tada la programacion, estoy intentando implementar el libro de visitas de desarrolloweb.com, una vez pasadps los ...
  #1 (permalink)  
Antiguo 15/06/2005, 09:47
KON
 
Fecha de Ingreso: mayo-2005
Mensajes: 3
Antigüedad: 12 años, 6 meses
Puntos: 0
ayuda por favor

soy nuevo en php y de hecho en casi tada la programacion, estoy intentando implementar el libro de visitas de desarrolloweb.com, una vez pasadps los primeros escollos que me los he podido solventar por desconocimiento me que do trabado en :


Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in c:\archivos de programa\easyphp1-8\www\index.php on line 44

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in c:\archivos de programa\easyphp1-8\www\index.php on line 79

Si alguien me puede echar un cable lo agradecere
  #2 (permalink)  
Antiguo 15/06/2005, 10:01
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 12 años, 8 meses
Puntos: 17
tratá de poner el código y si es posible señalar cual es la linea 44 y la linea 79 para que te podamos ayudar ;)
  #3 (permalink)  
Antiguo 15/06/2005, 10:10
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 14 años, 1 mes
Puntos: 1
ok, sin ver código, lo único que se te puede decir es que cuando llamas a mysql_fetch_object, el argumento no es un result set válido de mysql, esto puede deberse comunmente a que hayas escrito mal el nombre de la variable, o bien, que no hayas pasado argumento o bien, la consulta de mysql_query devolvió FALSE.

saludos
  #4 (permalink)  
Antiguo 15/06/2005, 10:29
KON
 
Fecha de Ingreso: mayo-2005
Mensajes: 3
Antigüedad: 12 años, 6 meses
Puntos: 0
Os doy las gracias por vustra celeridad, el codigo completo es el que sigue:



<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","","");
mysql_select_db("librovisitas_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"><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=\"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>
  #5 (permalink)  
Antiguo 15/06/2005, 10:42
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 12 años, 8 meses
Puntos: 17
Lo que parece ser es que da un error MySQL
la linea que dice
$resultid = mysql_query($ssql,$conn);
deberías reemplazarla por
$resultid = mysql_query($ssql,$conn) or die(mysql_error());
para ver que error da MySQL y corregirlo
  #6 (permalink)  
Antiguo 15/06/2005, 11:03
KON
 
Fecha de Ingreso: mayo-2005
Mensajes: 3
Antigüedad: 12 años, 6 meses
Puntos: 0
he cambiado la linea como me indicas y el resultado cuando intento verlo en local es el mismo
-----------------------------------------------------

Libro de visitas PHP
Aquí puedes leer los mensajes de los visitantes y también puedes dejar el tuyo utilizando el formulario de abajo.

Muchas gracias por tu participación


Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in c:\archivos de programa\easyphp1-8\www\index.php on line 44

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in c:\archivos de programa\easyphp1-8\www\index.php on line 79

Firma el Libro de Visitas
Déjanos tu mensaje en el libro de visitas y danos tu opinión del sitio


Nombre


Email


Valoración
RepelenteMalRegularBienFantástica Comentarios:

-----------------------------------------------------------------------------------
y aunque intento rellenar los campos par hacer la prueba no quedan grabados, ni se visualizan.
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 00:04.