Encontre un sistema de comentarios algo anticuado pero funcional para lo que yo requiero...
resulta que en localhost funciona que ni pintado, pero por alguna razon en el host web, no funciona, digamos que si, envia los comentarios a la db pero no los recibe.
que parte del codigo os tendria que mostrar? yo os pongo los que creo, que puedan probocar algun fallo o algo...
EL JABASCRIPT
Código:
var UltFec;
function objetoAjax(){
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 enviarMensaje(){
usu=document.nuevo_empleado.usuario.value;
men=document.nuevo_empleado.mensaje.value;
ajax=objetoAjax();
ajax.open("POST", "registro.php",true);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
consultaMensajes();
document.nuevo_empleado.mensaje.value="";
document.nuevo_empleado.mensaje.focus();
}
}
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajax.send("usuario="+usu+"&mensaje="+men)
}
function consultaMensajes(){
divResultado = document.getElementById('pagina');
ajax=objetoAjax();
ajax.open("GET", "consulta.php?ultfec="+UltFec,true);
ajax.onreadystatechange=function() {
if (ajax.readyState==4) {
//divResultado.innerHTML=ajax.responseText;
var datos=ajax.responseXML.documentElement;
for (i = 0; i < datos.getElementsByTagName('elemento').length; i++){
var item = datos.getElementsByTagName('elemento')[i];
var fec = item.getElementsByTagName('fecha')[0].firstChild.data;
var usu = item.getElementsByTagName('usuario')[0].firstChild.data;
var men = item.getElementsByTagName('mensaje')[0].firstChild.data;
var linea='<div class="c_fecha">'+fec+'</div><div class="c_usuario">'+usu+'</div><div class="c_mensaje">'+men+'</div>';
CrearCaja(linea);
}
//si ultima fecha esta definida se usará
//caso contrario se dejara con su valor anterior
if(typeof fec!='undefined'){
UltFec=fec;
}
}
}
ajax.send(null)
//cada 3 segundos consulta por nuevos mensajes
setTimeout('consultaMensajes();',3000);
}
window.onload = function (){
consultaMensajes();
}
LA CONSULTA PHP
Código:
<?php
require("conexion.php");
$UltFecha=$_GET['ultfec'];
if($UltFecha=='undefined'){
$query = "SELECT * FROM ngerelewal ORDER BY fecha ASC";
}else{
$query = "SELECT * FROM ngerelewal WHERE fecha>'$UltFecha' ORDER BY fecha ASC";
}
$lista = mysql_query($query,$con);
$i=1;
// no cargar de la cache del navegador.
header( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
header( "Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . "GMT" );
header( "Cache-Control: no-cache, must-revalidate" );
header( "Pragma: no-cache" );
header('Content-type: text/xml; charset=UTF-8', true);
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
echo "<xml>";
while($row = mysql_fetch_array($lista)){
echo "<elemento> \n";
echo " <fecha>".$row['fecha']."</fecha> \n";
echo " <usuario>".$row['usuario']."</usuario> \n";
echo " <mensaje>".$row['mensaje']."</mensaje> \n";
echo "</elemento> \n";
$i++;
}
echo "</xml>";
?>
hay otro mas, pero creo que ese no se encarga de nada
Código:
function CrearCaja(texto){
//contenedor principal
var pagina=document.getElementById('pagina');
//creando nuevo div
var cajaNueva=document.createElement('div');
//creando texto del div con mensaje de la caja de texto
//asignandoles atributos
cajaNueva.setAttribute('className','caja'); //para IE
cajaNueva.setAttribute("class", "caja");
//llenando la caja nueva
cajaNueva.innerHTML=texto;
//insertar antes del primer elemento de pagina
pagina.insertBefore(cajaNueva,pagina.firstChild);
//elimiar el ultimo elemento
EliminarCaja();
}
//remueve el ultimo elementos si estos superan los 10
function EliminarCaja(){
var pagina=document.getElementById('pagina');
elementos=pagina.childNodes;
if(elementos.length>10){
pagina.removeChild(pagina.lastChild);
}
}
diria yo que se encarga de poner los mensajes en su sitio y del maximo de mensajes mostrados..
Pues eso es todo, algo falla ai, y no me lee la database, que en teoria se llama Comentarios.
saludos