Ver Mensaje Individual
  #9 (permalink)  
Antiguo 23/12/2007, 03:07
ElMaterial
 
Fecha de Ingreso: noviembre-2007
Mensajes: 23
Antigüedad: 16 años, 5 meses
Puntos: 0
Re: Sistema de comentario con BD MySql

Cita:
Iniciado por aenet Ver Mensaje
Ya encontre cual eran los problemas, nose como no me di cuenta antes, eran tan sencillos.
Con respecto a noticia.php tenias razón, me había olvidado de incluir la conexion con la base de datos en este archivo.
Y sobre el error que me tiraba en el archivo nuevoComentario.php en la linea 36 es por el script de HTTP_REFERER que por los caracteres que posee "" no tomaba bien el echo, la verdad que esta parte no se me ocurrio bien como solucionarlo, asi que lo reemplase por un link que me lleve de vuelta a la pagina de noticia.php. Y bueno otros detalles como palabras separadas.

Por si a alguien le interesa les dejo el codigo de los archivos según mis pequeñas correcciones. Lo que importa es que ahora por lo menos a mi me funciono. Si alguno de ustedes lo piensa usar ya mas que obvio saben que lo puede mejorar a su manera. asi que no juzguen mis correcciones.

Primero la tabla de la base de datos:

CREATE TABLE comentarios (
id bigint(7) default NULL,
id_noticia bigint(7) default NULL,
nick char(20) default NULL,
comentario char(250) default NULL,
KEY id (id) )


noticia.php :

Código PHP:
<html>
<head>
<title>Comentarios</title></head>
<body>

<CENTER> 
<SPAN STYLE="font-size:11px;font-family:Tahoma;color:black;font-weight:bold"> 
.Enviar Comentario. 
</SPAN> 
</CENTER> 
<p> 
<FORM NAME="miFormu" ACTION="nuevoComentario.php" 
METHOD="post"> 
<INPUT TYPE="hidden" NAME="id" VALUE="<? 
echo $id?>"> 
Nick : <INPUT TYPE="text" NAME="nick" SIZE=20 MAXLENGTH=20> 
<BR> 
Comentario: <INPUT TYPE="text" NAME="comentario" 
SIZE=28 MAXLENGTH=250> 
<BR> 
<INPUT TYPE="submit" CLASS="boton" VALUE="Enviar 
Comentario"> 
</FORM>
<CENTER>
<TABLE CELLSPACING=1 CELLPADDING=1 WIDTH=300 BORDER=0 STYLE="border:1px solid black">
<TR>
<TD BGCOLOR="#FAFAFA">
<CENTER>
<SPAN STYLE="font-size:11px;font-family:Tahoma;color:black;font-weight:bold"> .Comentarios De Los Usuarios.
</SPAN>
</CENTER>
</TD>
</TR>

<TR>
<TD HEIGHT=1 BGCOLOR=black>
</TD>
</TR>

<TR>
<TD BGCOLOR="#FEFEFE">
<SPAN STYLE="font-size:11px;font-family:Tahoma;color:black;">

<? 
$dbhost
="localhost";  // host del MySQL (generalmente localhost)
$dbusuario="usuario"// aqui debes ingresar el nombre de usuario
                      // para acceder a la base
$dbpassword="contraseña"// password de acceso para el usuario de la
                      // linea anterior
$db="mi base";        // Seleccionamos la base con la cual trabajar
$conexion mysql_connect($dbhost$dbusuario$dbpassword);
mysql_select_db($db$conexion);

$resultComen mysql_query("SELECT * FROM comentarios WHERE id_noticia='$id' ORDER BY id ASC");
while(
$rowComen mysql_fetch_array($resultComen))
{
?> ;
<FONT COLOR=RED>
<B><? echo $rowComen["nick"]; ?></B>
</FONT>
:
<? echo $rowComen["comentario"]; ?>
<BR>
<?
}
mysql_free_result($resultComen);
?>

</SPAN>
</TD>
</TR>
</TABLE>
</CENTER>
</body>
</html>
Y el archivo nuevoComentario.php

Código PHP:
<?php  
//conexion MySQL

$host="localhost";
$user="usuario";
$pass="contrasema";
$db="mi base";
//Conectamos a la base de datos
$link mysql_connect ($host$user$pass);
mysql_select_db($db$link); 


if(isset(
$HTTP_POST_VARS["id"]) && isset($HTTP_POST_VARS["nick"]) && isset($HTTP_POST_VARS["comentario"])) 

if(
$HTTP_POST_VARS["comentario"] != ""

if(
$HTTP_POST_VARS["nick"] == ""

$nickNuevo "anonimo"

else 

$nickNuevo $HTTP_POST_VARS["nick"]; 

$resultCom2 mysql_query("SELECT id FROM comentarios ORDER BY id DESC LIMIT 0,1"); 
$rowCom2 mysql_fetch_array($resultCom2); 
$con $rowCom2["id"]; 
mysql_free_result($resultCom2); 

$con++; 
$idNoticia $HTTP_POST_VARS["id"]; 
$comentarioNoticia $HTTP_POST_VARS["comentario"]; 
mysql_query("INSERT INTO comentarios VALUES 
('$con','$idNoticia','$nickNuevo','$comentarioNoticia')"
); 

echo 
"Comentario Enviado Con Exito.<a href=noticia.php>Volver</a>"

else 

echo 
"Debe Introducir Un Comentario."

}

?>
Muy bueno muchas gracias me ha servido el codigo pero una pregunta.. como puedo hacer para que no me abra otro archivo osea en vez de que se abra en comentarioNuevo.php se abra el mensaje de exito en el mismo archivo noticia.php alguien sabe como??

Saludos y Gracias :D