Foros del Web » Programando para Internet » Javascript » Frameworks JS »

(ajax con php) Sistema de comentario, estoy atascado.

Estas en el tema de (ajax con php) Sistema de comentario, estoy atascado. en el foro de Frameworks JS en Foros del Web. Hola En esta oportunidad estoy practicando con ajax, recien comienzo con AJAX. Estoy tratando de hacer un sistema de comentarios. Consta de 3 DIV 1. ...
  #1 (permalink)  
Antiguo 24/08/2009, 01:35
 
Fecha de Ingreso: junio-2009
Mensajes: 3
Antigüedad: 14 años, 10 meses
Puntos: 0
Pregunta (ajax con php) Sistema de comentario, estoy atascado.

Hola

En esta oportunidad estoy practicando con ajax, recien comienzo con AJAX.
Estoy tratando de hacer un sistema de comentarios.
Consta de 3 DIV
1. Formulario para enviar el comentario el <div id="formulario">
2. <div id="comentarios"> donde lista todos los comentarios actuales
3. <div id="resultado" class="resultado"></div> el resultado al enviar el comentario.

Lo que quiero hacer es que el <div id="comentarios"> se actualice cada 10 segundos y ademas se actualice cuando se haya enviado un comentario y no se como hacerlo.

Los siguientes codigos funcionan perfectamente. solo que no puse lo que requiero por no saber como hacerlo.
Les dejo el codigo para que lo miren y pueda editarlo con las correcciones correspondientes para que funcione.

index.php

<html>
<head>
<title>Sistema de comentarios</title>
<meta http-equiv="Expires" content="0">

<meta http-equiv="Last-Modified" content="0">

<meta http-equiv="Cache-Control" content="no-cache, mustrevalidate">

<meta http-equiv="Pragma" content="no-cache">


<script language="Javascript">
function xmlhttpPost(strURL) {
var xmlHttpReq = false;
var self = this;
// Mozilla/Safari
if (window.XMLHttpRequest) {
self.xmlHttpReq = new XMLHttpRequest();
}
// IE
else if (window.ActiveXObject) {
self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}
self.xmlHttpReq.open('POST', strURL, true);
self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
self.xmlHttpReq.onreadystatechange = function() {

if (self.xmlHttpReq.readyState == 4) {
updatepage(self.xmlHttpReq.responseText);
}else
if (self.xmlHttpReq.readyState<4) {
resultado.innerHTML = '<img src="procesando.gif"> Procesando...Espere!';// muestra barra progres mientras php procesa y da el ok
document.getElementById("formulario").style.displa y = 'none';// esconde formulario tras el envio

}
}
self.xmlHttpReq.send(getquerystring());
}

function getquerystring() {
var form = document.forms['formcoment'];
var nombre = form.nombre.value;
var mensaje = form.mensaje.value;
qstr = 'n=' + escape(nombre) + '&m=' + escape(mensaje); // ATENCION: no '?' antes de la cadena de la consulta
return qstr;
}
// se recive datos de PHP... y continua ajax
function updatepage(str){
document.getElementById("resultado").innerHTML = str;
document.getElementById("formulario").style.displa y = 'none';
}
</script>
<style>
p, input, textarea, div { font: bold 8pt verdana, sans-serif; }
.resultado { color: red; }
</style>
</head>


<div id="comentarios">Todos los comentarios:<br><br>

<? include("listar_coment.php"); ?>
<br><br>

</div>
<div id="resultado" class="resultado"></div>


<div id="formulario">
<form name="formcoment">
<p>Tu nombre: <input name="nombre" type="text" size="15"> <br><br>
Mensaje:<br>
<textarea name="mensaje" cols=40 rows=5 wrap=soft></textarea>
<input value="Enviar" type="button" onclick='JavaScript:xmlhttpPost("procesar.php")'></p>
</form>
</div>

</body>
</html>


listar_coment.php (este es un codigo para simular el listado de comentarios ya que una vez funcionando la apliccaion para el usuario en ajax hare que se conecte a una base de datos y liste dese alli)

<?php

// simulacion de listar comentarios
echo 'Lista de comentario actual<br>';

for($i = 1; $i < 5; $i++ ){

echo("Comentario $i <br>");

};
?>


procesar.php

<?php
echo("Tu comentario se ha enviado satisfactoriamente<br> Datos:<br><br>Tu Nombre: ".$_REQUEST

['n']."<br>Tu Mensaje: ".$_REQUEST['m']);
?>

Espero que uds, quienes tienen amplia experiencia en AJAX me puedan dar una manito.
Este tema puede ser util para todos aquellos que recien comienza en ajax, en esta lista.
Muchas gracias a todos
Que tengan un buen dia.

Saludos
  #2 (permalink)  
Antiguo 11/09/2009, 22:06
 
Fecha de Ingreso: junio-2009
Mensajes: 3
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: (ajax con php) Sistema de comentario, estoy atascado.

nadie sabe sobre esto?
  #3 (permalink)  
Antiguo 14/09/2009, 09:51
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: (ajax con php) Sistema de comentario, estoy atascado.

Cita:
se actualice cada 10 segundos
A esto lo haces un con refresh de javascript, pero no te lo recomiendo para nada. No vas a lograr sino un mal efecto , a menos que pongas un condicional que diga "si algo cambio, entonces reimprime".

Un refresh o un location.href te recargan la pagina. Pero si lo que queres es solo recargan un fragmento a partir de una pagina externa, entonces mejor incorpores la libreria jquery y uses la sintaxis simple que tiene para ajax. Mediante "load".
  #4 (permalink)  
Antiguo 16/09/2009, 22:09
Avatar de lucasphp  
Fecha de Ingreso: mayo-2009
Ubicación: Misiones
Mensajes: 170
Antigüedad: 15 años
Puntos: 3
Respuesta: (ajax con php) Sistema de comentario, estoy atascado.

podés llamar a la función ajax con setInterval cada "x" segundos
  #5 (permalink)  
Antiguo 18/09/2009, 21:28
 
Fecha de Ingreso: junio-2009
Mensajes: 3
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: (ajax con php) Sistema de comentario, estoy atascado.

lucasphp: y como haria eso en el codigo? para q se recarge el <div>

mayid: de jquery no se nada.

Lo que quiero hacer es muy similar a lo q se usa en este sitio al responder.

Muchas gracias por las respuestas
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 08:54.