Foros del Web » Creando para Internet » Diseño web »

como puedo agregar comentarios?

Estas en el tema de como puedo agregar comentarios? en el foro de Diseño web en Foros del Web. Me gustaria poder agregar a mi web la opcion de que la gente ponga comentarios en una seccion, pero no se como hacerlo, alguien me ...
  #1 (permalink)  
Antiguo 19/07/2006, 10:43
 
Fecha de Ingreso: mayo-2006
Mensajes: 147
Antigüedad: 17 años, 11 meses
Puntos: 0
como puedo agregar comentarios?

Me gustaria poder agregar a mi web la opcion de que la gente ponga comentarios en una seccion, pero no se como hacerlo, alguien me hecha un cable? he querido usar el phpnews o el supernews, pero no me hacen el efecto que yo quiero, me gustaria que en la pagina donde se metan lean el articulo que yo publico y que me degen su opinion, lo he intentado hacer con el phpnews pero no me saca el efcto deseado, alguein me da una idea.

Para que sea mas simple, lo que yo pretendo es que la gente pueda añadir comentarios en mi web, simplemente eso, espero asi haberlo simpleficado para que no haya confusiones.
  #2 (permalink)  
Antiguo 19/07/2006, 15:56
Avatar de ChessMaster  
Fecha de Ingreso: marzo-2006
Mensajes: 39
Antigüedad: 18 años, 1 mes
Puntos: 0
Lo mejor que puedes hacer es aprender un lenguaje de programacion php,asp, etc...solo asi podras hacer lo que quieras en tu web y con el nivel de complejidad que quieras
__________________
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares! ......Tome la frase de Caricatos.:-)
  #3 (permalink)  
Antiguo 19/07/2006, 19:59
Avatar de colettainternet
Usuario baneado!
 
Fecha de Ingreso: noviembre-2005
Ubicación: En la cima, claro.
Mensajes: 933
Antigüedad: 18 años, 4 meses
Puntos: 0
Enseñare como crear un sistema de comentarios, normalmente esto se hace para que los usuarios comenten sobre noticias de tu web, pero tambien se puede usar para otros casos.

Para el correcto aprendizaje supondremos una "situacion", supongamos que tienes un sistema de noticias, en el cual los usuarios pueden ver las noticias de la forma noticia.php?id=1, entonces queremos que los usuarios dejen sus comentarios sobre cada noticia.

-----------------------
Nota: La explicacion la hago suponiendo un conocimiento basico de PHP y interaccion con bases de datos(en este caso MySql) por parte del lector.
-----------------------

Lo primero que tenemos que pensar es ¿que datos del usuario necesitamos?, bien, supongamos que queremos que el usuario deje su comentario junto con un nick(nombre,sobrenombre,alias), para ello creariamos una tabla llamada comentarios con los campos:
id - Tipo Entero
nick - Tipo Caracter
comentario - Tipo Caracter

La instruccion para su creacion seria:
Código HTML:
CREATE TABLE comentarios (
id bigint(7) NOT NULL auto_increment,
nick char(20) default NULL,
comentario char(250) default NULL,
KEY id (id) )
Bien, pero aqui viene el problema que se le presenta a muchas personas y es ¿como reconocer que comentarios corresponden a una noticia determinada?, aunque para algunos paresca sencillo les digo(por experiencia con esas personas) que puede ser un dilema para muchos que no lo "ven".

Muchos piensan que se hace desde la noticia, reconociendo los comentarios, pero es al contrario, son los comentarios quienes tienen que saber a que noticia pertenecen, para ello necesitamos otro campo en nuestra tabla de comentarios:

Código HTML:
CREATE TABLE comentarios (
id bigint(7) NOT NULL auto_increment,
id_noticia bigint(7) default NULL,
nick char(20) default NULL,
comentario char(250) default NULL,
KEY id (id) )
El campo de tipo entero id_noticia, el cual contendra el id de la noticia a que corresponde.

--------------------
Nota: Recordemos que en este caso suponemos que las noticias se llaman de la forma noticia.php?id=234, donde el id corresponde al id de la noticia en la base de datos.
--------------------

Ahora debemos mostrar los comentarios, y tener un formulario de envio de comentarios en mi noticia.php y una aplicacion que lo procese.

--------------------
Nota: Solo voy a poner el codigo que muestra los comentarios y el formulario de envio, ya que de eso es que trata este tutorial y se supone que ya tienes tu sistema de noticias(o en lo que sea que lo vayas a implementar).
--------------------

Este es el codigo que muestra los comentarios de la noticia actual(despues el codigo para enviar los comentarios), recordemos que obtenemos el id de la noticia que lo hemos pasado por medio de noticia.php?id=123, primero el codigo, luego la explicacion del codigo:

Código HTML:
<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;">
<?
$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> 
Aqui lo importante es la lectura de nuestros comentarios, lo que debemos hacer primero que todo es obtener los comentarios, pero solo queremos aquellos que correspondan a la noticia actual, para ello pedimos aquellos cuyo campo id_noticia corresponda con el id de la noticia actual(noticia.php?id=456):
Cita:
$resultComen = mysql_query("SELECT * FROM comentarios WHERE id_noticia='$id' ORDER BY id ASC");
Y el resto es sencillo, simplemente imprimir en pantalla cada comentario, con su respectivo nick:
Código HTML:
while($rowComen = mysql_fetch_array($resultComen))
{
?>
<FONT COLOR=RED>
<B><? echo $rowComen["nick"]; ?></B>
</FONT>
:
<? echo $rowComen["comentario"]; ?>
<BR>
<?
}
Ahora necesitamos una aplicacion que envie los comentarios a la tabla y un formulario de envio, el cual en este caso estara ubicado en la pagina de la noticia(noticia.php), y pasara por medio de un campo oculto el id de la noticia a la aplicacion que se encargara de enviar el comentario.

Primero el codigo del formulario, utilizaremos un campo de tipo HIDDEN para pasar el id de la noticia a la aplicacion que procesa el formulario(despues el codigo de dicha aplicacion, llamaremos a nuestra aplicacion nuevoComentario.php), este codigo debemos ponerlo en noticia.php:

Código HTML:
<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> 
Aqui cabe destacar el campo:

Código HTML:
<INPUT TYPE="hidden" NAME="id" VALUE="<? echo $id; ?>"> 
El cual recibe como valor el id de la noticia, ahora necesitamos la aplicacion nuevoComentario.php que recibe el id que corresponde al id de la noticia y el nick y comentario correspondientes, solo pondre el codigo de la parte que lee los datos y introduce el comentario en la base de datos, de ti depende la conexion con la base de datos, dicho codigo es el siguiente:
Código HTML:
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"];
}
$idNoticia = $HTTP_POST_VARS["id"];
$comentarioNoticia = $HTTP_POST_VARS["comentario"];

mysql_query("INSERT INTO comentarios (id_noticia,nick,comentario) VALUES
('$idNoticia','$nickNuevo','$comentarioNoticia')");

echo "Comentario Enviado Con Exito.<BR>Espere Unos Segundos...<SCRIPT LANGUAGE=\"javascript\">window.location.href = \"".getenv('HTTP_REFERER')."\";</SCRIPT>";
}
else
{
echo "Debe Introducir Un Comentario.";
}
}
Creo que no hay mucho que decir sobre este script, como ya dije estoy suponiendo un conocimiento basico de php y interaccion con bases de datos por parte del "lector"...en este caso vos...

Bien, espero haya quedado claro, espero tu respuesta, ¿Te sirvió? Espero que sí.........

Slaouds, ..!
  #4 (permalink)  
Antiguo 20/07/2006, 09:27
 
Fecha de Ingreso: mayo-2006
Mensajes: 147
Antigüedad: 17 años, 11 meses
Puntos: 0
acabo de ver todo lo que me has dejado colettainternet, ahor avoy a estudiarlo y a ver como lo pongo en mi web, y si consigo hacerlo funcionar, ya que mis noticias no estan en una base de datos sino que las introduzco yo manualmente.
  #5 (permalink)  
Antiguo 20/07/2006, 09:39
 
Fecha de Ingreso: mayo-2006
Mensajes: 147
Antigüedad: 17 años, 11 meses
Puntos: 0
he estado mirando el codigo, pero claro si yo no tengo las noticias en una base de datos, no puedo asignarle a los comentarios el id d ela noticia, entonces no puedo utilizar ese fabulo script en este momento, lo que yo querrri es poder añadir comentarios en un pagina normal y corriente, esto se puede hacer?
  #6 (permalink)  
Antiguo 20/07/2006, 13:47
Avatar de colettainternet
Usuario baneado!
 
Fecha de Ingreso: noviembre-2005
Ubicación: En la cima, claro.
Mensajes: 933
Antigüedad: 18 años, 4 meses
Puntos: 0
Podrías utilizar algun guestbook o un tagboard, es mas sencillo...

Tagboard de [email protected]

Slaouds, ..!
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 10:09.