> Faqs > Firebug para Firefox

Firebug para Firefox

Hace tiempo que estoy intentando hacer algo, pero no encuentro solucion..

Estoy haciendo un sistema de comentario, pero no me esta funcionando ajax, les explico todo funcionaba antes cuando lo hacia directo con PHP y Mysql pero ahora cambie para usarlo con ajax, pero no me da respuesta de nada... les envio los codigos que uso

esto es donde muestro los comentarios... y el formulario para crear los comentarios se llama: shownews.php

<span class="codigo"> <?php
$link = mysql_connect("localhost","root"," Mqq46@ho");
mysql_select_db("mywebdb", $link) or die("Error");
$idn = $_GET["id"];
$result = mysql_query("SELECT idnews, titlenews, fullnews FROM tnews WHERE (idnews=$idn)", $link);
//id, titulo, noticia, autor, priority
$my_error = mysql_error($link);
while ($row = mysql_fetch_row($result))
{
echo "Titulo: <h4><em><strong>$row[1]</strong></em></h4> </br>";
echo "Noticia: <h4><em><strong>$row[2]</strong></em></h4></br>";
}
?>

<html xmlns="http://www.w3.org/1999/xhtml "> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Untitled Document</title> <script language="JavaScript" type="text/javascript" src=" ajax.js"></script> </head> <body> <br /> <div id="commentlist"> </div> <div id="commentsform"> <h2>Puede dejar un comentario:</h2> <form name="comentform" method="post" id="commentform" onSubmit="return send('/addcomentario.php', 'id', 'nick', 'comment', 'url', 'email', 'commentlist')"> <p style="margin-top:0;"> <textarea name="comment" id="comment" cols="100%" rows="10" tabindex="1"></textarea> </p> <p> <input type="text" name="nick" id="author" value="" size="22" tabindex="2" /> <label class="label" for="author">Nick</label> </p> <p> <input type="text" name="email" id="email" value="" size="22" tabindex="3" /> <label class="label" for="email">Correo electrónico (obligatorio)</label> </p> <p> <input type="text" name="url" id="url" value="" size="22" tabindex="4" /> <label class="label" for="url">Web (opcional)</label> </p> <p> <input name="submit" type="submit" id="submit" tabindex="6" value="Enviar Comentario" /> <input name="id" type="hidden" value="<? echo $idn; ?>"> </p> </form> </div> <div id="testing"> asdasd <?php include("showcomment.php"); ?> </div> </body> </html> <?php mysql\_free\_result($result); mysql\_close(); ?>

ahora este es el archivo ajax.js
f unction simple_ajax(){
var xmlhttp=false;
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject(" Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}

function LoadContent(callback, url, query_string, method, iditem){
method = method.toUpperCase();
var ajax=simple_ajax();
fullquery = url +"?" + query_string;
if (method == 'GET') {
ajax.open(method, url +"?" + query_string, true);
} else {
ajax.open(method, url, true);
}
ajax.onreadystatechange=function() {
if(ajax.readyState==1) {
callback(query_string, ajax.responseXML, 'testing');
} else {
if (ajax.readyState==4) {
callback(ajax.responseText, ajax.responseXML, iditem);
}
}
}
if (method == 'GET') {
ajax.send(null)
} else {
ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=ISO-8859-1');
ajax.send(query_string);
}
}

function send(url, vid, vnick, vcom, vurl, vemail, divused)
{
/*Obtener donde se mostrará el contenigo*/
divResultado = document.getElementById(iditemuse);
/*Obtener los valores del formulario*/
obj_id = document.getElementById(vid);
obj_nick = document.getElementById(vnick);
obj_com = document.getElementById(vcom);
obj_url = document.getElementById(vurl);
obj_email = document.getElementById(vemail);
/* Obtener Mensaje por Item*/
/* obtener el objeto msg */
obj_msg = vid'='+obj_id.value;
//*+'&nick='+obj_nick.value+'&comment='+obj_com.value+'&url='+obj_url.value+'&email='+obj_email.value;
/* Construir el query_string (variables que serán enviadas en la petición). */
/* El formato de esta cadena es "v1=valor1&v2=valor2& .. &vn=valorn" */
query_string = obj_msg.value;
LimpiarCampos();
/*obj_msg.focus();*/
/* Enviar la peticion */
LoadContent(send_callback, url, query_string, 'POST', divused);
return false;
}

function send_callback(text, xml, idclearelem)
{
/* obtener el objeto main */
LimpiarCampos(idclearelem);
obj_main = document.getElementById(idclearelem);
obj_div = document.createElement('div');
obj_div.innerHTML = text;
obj_main.appendChild(obj_div);
}

function LimpiarCampos(){
document.comentform.comment.value = "";
document.comentform.nick.value = "";
document.comentform.email.value = "";
document.comentform.url.value = "";
document.comentform.comment.focus();
}

este es el archivo para agregar los comentarios se llama: addcomentario.php

<?php $link = mysql\_connect("localhost","root","Mqq46@ho"); mysql\_select\_db("mywebdb", $link); if(isset($HTTP\_POST\_VARS\["id"\]) && isset($HTTP\_POST\_VARS\["nick"\]) && isset($HTTP\_POST\_VARS\["comment"\]) && isset($HTTP\_POST\_VARS\["url"\]) && isset($HTTP\_POST\_VARS\["email"\])) { if($HTTP\_POST\_VARS\["comment"\] != "") { if($HTTP\_POST\_VARS\["nick"\] == "") { $nickNuevo = "anonimo"; }else { $nickNuevo = $HTTP\_POST\_VARS\["nick"\]; } $idNoticia = $HTTP\_POST\_VARS\["id"\]; $comentarioNoticia = $HTTP\_POST\_VARS\["comment"\]; $theurl = $HTTP\_POST\_VARS\["url"\]; $theemail = $HTTP\_POST\_VARS\["email"\]; $hoydate = date("Y-m-d"); $hoytime = date("H:i:s"); $pageref = getenv('HTTP\_REFERER'); echo "$idNoticia: <br /> $comentarioNoticia: <br /> $theurl: <br /> $theemail: <br /> $hoydate: <br /> $hoytime: <br /> $nickNuevo:"; $sql = "INSERT INTO comentarios (id\_Comentarios, id\_noticia, nick, fecha, hora, email, url, comentario) "; $sql.= "VALUES ('','$idNoticia','$nickNuevo','$hoydate','$hoytime', '$theemail', '$theurl','$comentarioNoticia')"; $es = mysql\_query($sql, $link) or die("Error al grabar un mensaje: ".mysql\_error); //echo "Comentario Enviado Con Exito.<BR>Espere Unos Segundos...<SCRIPT LANGUAGE=\\"javascript\\">window.location.href = \\"$pageref\\"</SCRIPT>"; }else { echo "Debe Introducir Un Comentario."; } } include("showcomment.php"); mysql\_close(); ?> </span> pero no me responde nada... ni error ni nada si alguien me pudiera ayudar.... </body></html>

Respuestas

Si dices que no te devuelve nada me imagino que te refieres a que no muestra ningun cambio en pantalla.

Te recomiendo la extension Firebug para Firefox, te muestra cada request que realizas al server y que devuelve el servidor, ademas trae un depurador para javascript y unas cuantas cosas muy utiles. Asi que lo instalas y ves que te esta devolviendo el servidor.

Roberto Erhard