Editorial
Editorial
Editorial

Creacion de un sistema de comentarios en PHP

Enseñaré como crear un sistema de comentarios, técnica que normalmente se utiliza para que los usuarios comenten sobre noticias de tu web, pero tambien se puede usar para otros casos.

Para
el correcto aprendizaje supondremos una “situación”, 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 explicación la hago suponiendo un conocimiento básico de
PHP y interacción 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 crearíamos una tabla llamada comentarios con los campos:

id
- Tipo Entero

nick – Tipo Caracter

comentario – Tipo Caracter

La
instrucción para su creación seria:

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

Bien,
pero aquí viene el problema que se le presenta a muchas personas y es
¿como reconocer que comentarios corresponden a una noticia determinada?, aunque
para algunos parezca 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:

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) )

El
campo de tipo entero id_noticia, el cual
contendrá 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 envío
de comentarios en mi noticia.php y una aplicación
que lo procese.

Nota:
Solo voy a poner el código que muestra los comentarios y el formulario
de envío, 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 código que muestra los comentarios de la noticia actual (después
el código 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
código, luego la explicación del código:

<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>

Aquí 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):

$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:

while($rowComen = mysql_fetch_array($resultComen))
{
?>
<FONT COLOR=RED>
<B><? echo $rowComen["nick"]; ?></B>
</FONT>
:
<? echo $rowComen["comentario"]; ?>
<BR>
<?
} 

Ahora
necesitamos una aplicación que envié los comentarios a la tabla
y un formulario de envío, el cual en este caso estará ubicado
en la pagina de la noticia (noticia.php), y pasara por medio de un campo oculto
el id de la noticia a la aplicación
que se encargara de enviar el comentario.

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

<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>

Aquí cabe destacar el campo:

<INPUT TYPE="hidden" NAME="id"
VALUE="<? echo $id; ?>">

El
cual recibe como valor el id de la noticia, ahora necesitamos la aplicación nuevoComentario.php que recibe el id
que corresponde al id de la noticia y el nick
y comentario correspondientes, solo pondré
el código de la parte que lee los datos y introduce el comentario en
la base de datos, de ti depende la conexión con la base de datos, dicho
código es el siguiente:

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','$comentarioNo ticia')");

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 básico de php y interacción con bases de datos
por parte del lector.

Suerte
y hasta el próximo tutorial!

Jorge Luis Martinez MJorge Luis Martinez M para Maestros del Web.
Agrega tu comentario | Enlace permanente al artículo

Síguenos en: Twitter @maestros | Facebook Fan page

206 comentarios

Comentarios

Páginas: [1] 2 3 »

  1. enzo

    perfecto q enseñen esta clase de cosas

  2. Cluster

    Esto es peligroso ..

    [PHP]echo “Comentario Enviado Con Exito.
    Espere Unos Segundos…“; [/PHP]

    Un redireccionamiento así en el mismo flujo de proceso que se hace el “INSERT” de la noticia en la BD puede ocasionar que si hago una recarga de la página (hasta que me canse) origine registros duplicados en la BD …

    En su lugar usaría un redireccionamiento automático vía (eliminando todo HTML que mostrar en ese proceso):

    [PHP]header(“location: $HTTP_SERVER_VARS['HTTP_REFERER']“);
    exit;[/PHP]

    Y si he de mostrar un mensaje de error/exito del proceso .. le paso una variable de control y lo proceso en la página referida .. Algo típo:

    [PHP]header(“location: $HTTP_SERVER_VARS['HTTP_REFERER']?msg=ok”);
    exit;[/PHP]

    y en la pagina referida:

    [PHP]if (isset($HTTP_SERVER_VARS['msg'])){
    echo “El estado del proceso fué: “.$HTTP_SERVER_VARS['msg'];
    }[/PHP]

    A todo esto .. -cuidado- con HTTP_REFERER .. si bien es útil para estos casos donde no sabemos o mejor dejamos que cualquiera ponga el nombre de la página de su formulario/etc .. No todos los servidores HTTP bajo conexiones sobre todo con proxy’s entregan dicho dato .. por ende al “postear” una noticia nos devolvería a una página “no encontrada” .. (en tal caso deberíamos indicar manualmente el nombre de dicha página ..)

    PD: usé para mis ejemplos HTTP_SERVER_VARS en lugar de getenv() .. Si mal no recuerdo eso sólo debería funcionar bajo PHP en modo CGI…

    También sería recomendable usar los arrays superglobales $_SERVER, $_POST, $_GET .. etc para adaptarlo al uso de register_globals a OFF u ON desde PHP 4.1.0 en adelante siendo más seguro sus apliaciones …

    Un saludo,

  3. Unregistered

    yo tengo problema con:
    echo “Comentario Enviado Con Exito.
    Espere Unos Segundos…“;

    y me da el error

    Parse error: parse error, expecting `’,” or `’;” in /home/factory/public_html/nuevoComentario.php on line 33

    y en el archivo noticia.php

    en la linea 67 deonde esta o
    dice que es un error y que lo corrija:S

    y por ultimo, este sistema no nesesita el archivo config.php??, por que no entiendo como puede llamar a la base de datos.

    PD: Me podeis enviar el sistema echo en un zip por favor??, es que me lio:(, os lo agradeseria un monton, gracias;).

  4. Eduardo

    muy bien

  5. Jonathan

    Es realmente Fabuloso, ideal para principiantes.

  6. maria

    no funciona

  7. AFICIONADO

    EXELENTE ARTICULO…

  8. Unregistered

    esta bueno

  9. agustin

    buen curso

  10. webloslose

    muy bueno gracias

  11. TONI

    ESTA MUY BIEN ESTE ,CREO Q LO UTILIZARE

  12. Marc

    Parse error: parse error in nuevocomentario.php on line 30

    que es “echo “Comentario Enviado Con Exito.
    Espere Unos Segundos…“;

  13. coco

    si supones que el que lee este tutorial ya tiene conocimientos básicos sobre PHP y MySQL, pregunto ¿Para que lo publicas? Osea, es lo mismo descargarce un escript y tratar de interpretarlo para despues copiarlo.

  14. jabeloco

    quisiera el codigo pero sin necesidad de verificar noticia, que se visualicen todos
    gracias

  15. ernesto

    Me parece bueno, y muy practico

  16. Unregistered

    Bueno como tenemos alumnos retrasados vamos a enseñarles a que se sienten primero pues si tienen que estar de pie durante todo el curso seguro que se cansan.

    jajajaja ^_^

    Algo sencillo el ejemplo, pero no esta muy bien explicado. Si quieren comenzar con algo sencillo entren en esta pagina, para mi gusto esta muy bien explicada y con muchos ejemplos ;-)

    http://www.htmlweb.net/index.html

  17. enter

    muchas gracias por este articulo me ha salvado…

  18. oecarlitoz

    Hola que tal, sabes me aparece un error al final. el archivo se llama nuevocomentario.php y es quien recibe los datos de mi formulario.

    el script de nuevocomentario.php es:

    < ?php //AQUI CONEXION O include() DE ARCHIVO DE CONEXION CON BASE DE DATOS.
    //conexion MySQL

    $host=”localhost”;
    $user=”milogin”;
    $pass=”mipass”;
    $db=”mi_base_de_datos”;
    //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’,'$comentarioNo ticia’)”);

    echo “Comentario Enviado Con Exito.
    Espere Unos Segundos…“;
    }
    else
    {
    echo “Debe Introducir Un Comentario.”;
    }
    }

    ?>

    y me bota este error:
    Parse error: parse error, unexpected T_STRING, expecting ‘,’ or ‘;’ in /home/virtual/site265/fst/var/www/html/nuevocomentario.php on line 36

    por favor una super ayuda

  19. Unregistered

    que significa noticias.php?id=1 y como lo utilizo en un sistema de noticias

  20. oecarlitoz

    Hola pedro a mi si me a salido, solo que hay algunas cosas no estan bien explicadas, claro es ovbio que cada uno tiene que ponerlas.

    En fin dime si te puedo ayudar y a la gente que desea, puedo darles el codigo exacto de este sistema.

    Lo he corregido y esta muy bien.

    saludos y recuerden

    SI ALGUIEN DESEA QUE LE EXPLIQUE MEJOR COMO FUNCIONA ESTE SISTEMA SOLO PASENME LA VOZ.

    SALUDOS.

  21. oecarlitoz

    YO HE CORREGIDO ESTE ARTICULO entren a http://www.cperu.net/tutoriales.php?a=comentarios

  22. george

    Todos los articulos aqui publicados me parecen buenisismos

  23. n00b

    deberian explicar como hacer un sistema de noticias con categorias y luego el comentarios, esto se me hace como todo al reves

  24. pepe

    Bueno

  25. ricardo

    bueno ..me parece que esta bien.
    y este ejemplo de Creacion de un sistema de comentarios en PHP lo voy a poner en practica para crear un foro de discusion….
    Talves me puedes ayudar a como crear un foro de discucion ([email protected])

  26. Hebert

    Muy bueno

  27. wil

    Me parece muy bueno, gracias por el aporte

  28. No Registrado

    como conecto a la base de datos mysql para poder agarrar la info?

  29. javifo

    El foro va muy bien y se le puede sacar mucho rendimiento.

    Sólo hay algo que no me funciona y es la actualización del número de respuestas. Siempre esta a cero.

    ¿Sabéis si es un error mío o es lago normal?

    Felicidades y saludos.

  30. dxMan!

    no pasa na!

  31. No Registrado

    Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/XXXXX/public_html/procesanoticia.php on line 15

  32. Vhyll

    Este sistem de comentarios esta muy bueno, pero quisiera agregarle emoticons y la pregunta es como??

  33. Arsenico

    uno de los errores aqui.
    que uds deberian haberlo leido detenidamente al code fue

    echo “Comentario Enviado Con Exito.
    Espere Unos Segundos…“;

    eso esta mal.
    si usamos las “” (comillas) al principio del Echo.
    el cuerpo del echo no puede contenerlas.

    en este caso.

    “javascipt” deberi poner ” en vez de “” .. ejemplo.. ‘javascript’

    pero que sucede.
    javascript toma las comillas y el comando no se ejecutaria.
    por ende en vez de cambiar eso cambie otras cosas.

    por favor, lean bien el codigo =) a continuacion, para notar los cambios

    echo ‘Comentario Enviado Con Exito.
    Espere Unos Segundos…‘;

    Espero que les haya servidor =)

    .-.Arsénico.-.

  34. Gallo

    Que bien

  35. ..:: equinoxz28 ::..

    exelnte este tutorial lo estaba buscando hace mucho tiempo gracias

  36. Salvador

    En serio funciona esto del comentario

  37. victor montenegro bueno

    este artículo de comentarios suena muy interesante.
    Yo les pediria de favor enorme me pudieran mandar nose mas informacion de este tipo de trabajos porque estoy realizando uno para una institucion educativa.
    MIL GRACIAS POR SU AYUDA SI PUDIERAN SALUDOS.
    VÍCTOR.

  38. saulosweb

    man quizas tengas un pre fabricado ya que muchos de nosotros no tenemos mucha idea como se hace pero sin embargo queremos poner en nuestra web me gustaria poder contactar contigo o haber si no los pasas mi correo es [email protected] ando buscado por todo sitio un sitio de comentarios y parece que el tuyo es el mas indicado
    de antemano gracias

  39. Lucas O.S.

    y si quiero poner un sistema de comentarios php en una web html??

    // http://www.elsonar.org //

  40. Sebastian

    Buenas ME GUSTO NO LO PROBE pero muy bueno… ahora eso se podra hacer sin la noticia… osea que yo solo quiero una pagian para djar comentarios nada mas… osea TODO COMENTARIO nose si me entienden

  41. Lang

    Voy a checarlos a ver si es para principiantes

  42. SEbas

    mira buenisimo pero como lo adapto a mi pagina unitaria…
    osea es una sola…
    notengo ideaaaaaa helpme

  43. kartis

    gracias por los aportes

  44. roura356a

    Buenas,
    ¿Es posible hacer un sistema de comentarios solamente basado en PHP? Esque para algo tan sencillo como unos comentarios no me gustaría instalar MySQL en el servidor.

    Me gustaría saber si hay alguna solución en PHP, quizás usando archivos de texto se podría.

    Saludos!

  45. leonardo

    y donde esta el script ?

  46. wasp

    me puede enviar el codigo en zip

    se lo agradeceria bastante

  47. vapf

    correcto

  48. edi_bomb

    holas, exelente tutorial !! me sirvio de mucho…
    una pregunta, como puedo hacer para crear un boton ke borre un comentario ?
    supongo ke al mostrar el comentario deberia guardar el valor del id del comentario en algun lado (un boton?) pero no se como…..
    alguien me puede ayudar??

  49. Western

    Me parecio muy bueno, me despejo varias cosas de la cabeza ;)

    Saludos

  50. Rey

    me gustaria mas bien el codigo y listo

  51. CARLOS

    saludo estoy probando su articulo

  52. javicho

    pero falta el nivel de seguridad por ejemplo que no se pueda poner

    Ke lindo tutorial

    <- supuesta mente esto no debería salir, cuando usamos htmlentities,o addslashes :S weno como sea, a ver si nos explicas que son esas weadas

  53. jony

    muy bien

  54. uk.

    me costo trabajo pero lo logre, gracias por el tutorial.

  55. uk.

    tengo un problema, en firefox esto de los comentarios va de maravilla pero probe con ie y no se muestran los comentarios, alguien tiene una idea de que puede ser digo aparte de ser Internet Explorer….

    Lo raro es que otras consultas si me las muestra, y lo raro es que en firefox todo esta perfecto haaaaaa por es odio esa cosa azul…

    Bueno si alguine tiene una idea se lo agradeceria, que hay usuarios que usan esa cosa azul…

  56. loco

    muy bueno

  57. pepe

    Te agradezco el tutorial, era exactamente lo que estaba buscando hacer en mi pagina. Aunque como soy novato en esto no me funcionó enseguida. Para la próxima creo que muchos te agradeceriamos un ejemplo que icluyera la conexión a la base y todo. Para novatos como yo. Chao

  58. Porek

    mobile home mobile home parks sweet home alabama home depot canada home owner insurance home remodeling home insurance home furnishing hentai flash young hardcore home office furniture cartoon sex motor home home improvement taste of home home depot anal massage Hunting Embroidery home gym

  59. axr

    buenisimo ejemplo

  60. YQQQ

    WWWWWWWWWW

  61. nagi

    tremendo articulomipana, felicitaciones

  62. k-rlitos

    pero como seria para no ser suceptible a que alguien haga un script como alert????

    ej alert (“hola”)

  63. k-rlitos

    en el ejemplo anterior aca no sufrio el ataque, a pesar de escribir script antes, eso kiero, ke no me efectue los script

  64. Diego Mauricio Herrera

    muy bueno

  65. Maxnar

    Bbbuen noc tu pero para mi esta muy bien

  66. ggggggggggggggggggggggggg

    gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg

  67. potter

    esta super bien

  68. - Juan -

    Hola, yo quisiera preguntar si se puede crear un libro de visitas en Javascript… Si se puede dejádme el enlace, GRACIAS :D

  69. eddie angel

    gracias por el tutorial esta muy bueno!!

  70. megustaria que me enviaran el codigo ya que lo estoy necesitando y soy novato en php

  71. Como siempre Gracias.
    Te cuento tgo el php de un sistema de comentarios. Funciona ok. Mi unico PROBLEMA ES: uno de los comentarios son para que los usuarios ingresen poesias…Y TOMA ESTAS POESIAS SIN ENTER,no respeta los saltos de linea se ve todo de corrido….Alguien puede ayudarme en que colocar y donde??? Soy novata en esto. Pude ser que tenga que ingresar esto ( \r\n)? Si es asi no se donde, en el codigo donde van los comentarios?? Sera en esta linea? “”

    Gracias chicos si alguien pudiera guiarme un poquito, besos lau

  72. Hola, porfin he conseguido comentarios en mi web, pero me duda es: Se podria poner la fecha y la hora del registro, si es asi que alguien me explique como se hace gracias.

  73. anonymous

    Este codigo sin más es muy bueno si lo que queremos es que alguien nos meta un backdoor y nos joda toda la web… Muy impotante en un sistemad e comentarios: sanear el contenido del comentario que nos envian por si contiene codigo malicioso (html, javascript…)

  74. anonimo

    y eso k tioene k ver ¿?¿?¿?

  75. MARTIN

    DE LUJOE S LOQ UE BUSCABA

  76. HOLA ME AGRADARIA VER SI ME PUDIESES MANDAR ESE CODIGO PARA PODER PARACTICAR

  77. Andres

    Exelenmte … felicidades esta perfecto el script

  78. oeyi fsbaqk ipotkbvn lcefav mpqo idbahk vamfij

  79. alguien quien me pase los scripts porfavor se los agradeceria mucho gracias

  80. natalia

    esta buena la idea, visiten la web de este cantante que esta buena http://www.jonathangimenez.tk

  81. Orlando

    zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz

  82. necesito un formulario simple que solo envie el comentario a la parte de arriba del formulario
    ayudenme porfavor

  83. Hay alguna manera de insertar un sistema de comentarios sin saber nada del PHP? Lo malo es que siempre dicen que hay que tener conocimiento medio

  84. pio

    esta muy interesante tratare de agregarlo a mi pagina garcias

  85. .áñ klcj

    ldkjf

  86. dkaizf tliaeq pxysfo mtehgsa

Los comentarios de este post están cerrados. Si quieres seguir la discusión, debatir, criticar, sugerir o expandir el tema te invitamos a hacerlo en tu propio blog, en twitter o donde puedas publicar. No olvides enlazar a este post para que sigamos la conversación y se genere un trackback.