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

Script PHP con XML no funciona si lo modifico...

Estas en el tema de Script PHP con XML no funciona si lo modifico... en el foro de Frameworks JS en Foros del Web. Buenas tardes, estoy trabajando con un script PHP que le manda variables XML a un script JavaScript, el cual actualiza un HTML, la cuestión es ...
  #1 (permalink)  
Antiguo 05/06/2009, 18:22
(Desactivado)
 
Fecha de Ingreso: mayo-2009
Mensajes: 37
Antigüedad: 15 años
Puntos: 0
Pregunta Script PHP con XML no funciona si lo modifico...

Buenas tardes, estoy trabajando con un script PHP que le manda variables XML a un script JavaScript, el cual actualiza un HTML, la cuestión es que quiero hacer una modificación en el primero, pero si le muevo algo ya no se me actualiza el HTML, lo que quiero hacer es poner una función "mail()" en el primero, pero si la pongo o la mando a llamar ya no funciona la actulización automática, por favor ayuda...A continuación pongo lo script's para ver si alguién me podría ayudar dieciendome que hago mal...

Código PHP:
<?php
header
("Last-Modified: " gmdate"D, d M Y H:i:s" ) . "GMT" ); 
header("Content-Type: text/xml; charset=utf-8");
header("Cache-Control: no-cache, must-revalidate" ); 
header("Pragma: no-cache" );

require(
'basededatos.php');

$xml '<?xml version="1.0" ?><root>';

    
$last = (isset($_GET['last']) && $_GET['last'] != '') ? $_GET['last'] : 0;
    
$limit '';
      if (
$last == || $last == '0') { 
          
$numlogs mysql_query("SELECT seq FROM logs WHERE seq > " $last); 
          
$numlogs mysql_num_rows($numlogs); 
          
$logsamostrar 1
             if (
$numlogs $logsamostrar) { 
                 
$limit " LIMIT " . ($numlogs $logsamostrar) . ', ' $logsamostrar
             } 
      }
    
    
$sql "SELECT seq,msg FROM logs  WHERE seq > " $last $limit;
        
    
$resultado mysql_query($sql); 
    
$mensaje mysql_fetch_row($resultado);
    
$cadena $mensaje[1];
    
//Aquí realizo la obteción de los valores de las variables que envío, no lo puse para no poner tanto código...
            
    
$message_query db_query($sql);
    while(
$message_array db_fetch_array($message_query)) {
                
        
$xml .= '<message id="' $message_array['seq'] . '">';
        
$xml .= '<seq>' .htmlspecialchars($message_array['seq']) . '</seq>';
        
$xml .= '<host>' .htmlspecialchars($nombre) . '</host>';
        
$xml .= '<priority>' .htmlspecialchars($prioridad) . '</priority>';
        
$xml .= '<date>' .htmlspecialchars($fecha) . '</date>';
        
$xml .= '<time>' .htmlspecialchars($hora) . '</time>';
        
$xml .= '<id>' .htmlspecialchars($id) . '</id>';
        
$xml .= '<src>' .htmlspecialchars($fuente) . '</src>';
        
$xml .= '<interface>' htmlspecialchars($interface) . '</interface>';
        
$xml .= '<interfaced>' .htmlspecialchars($interfaced) . '</interfaced>';
        
$xml .= '<dst>' .htmlspecialchars($dst) . '</dst>';
        
$xml .= '</message>';        
        
    }

$xml .= '</root>';
echo 
$xml;
   
$sql2 mysql_query("SELECT seq FROM logs"); 
   
$logs mysql_num_rows($sql2);

 if((
$last != || $last != '0') && $logs $_GET['last'] && $_GET['last'] != ''){
   
    
$query "SELECT email,alerta,intrusion,virus,aweb,vtrafico,bloq,caida,vpncaida,sesiones,severidad".
            
" FROM config WHERE seq=1 ";
    
$config mysql_query($query); 
    
$salida mysql_fetch_row($config);
    
    if(
$salida[1]=="eventos"){
      
mailer();    //*********Si mando a llamar aqui la función "mailer()" ya no me actuliza el html. Aquí es mi problema.
            
    
}elseif($salida[1]=="severidad"){
          
    }
    
    
//Inserción a logsfg
    
$inserta "INSERT INTO logsfg (nombre,prioridad,fecha,hora,idlog,fuente,ifuente,destino,idestino,mensaje)".
    
" VALUES ('$nombre','$prioridad','$fecha','$hora','$id','$fuente','$interface','$dst','$interfaced','$cadena')";
    
$resultado mysql_query($inserta);
    
//Termina Inserción a logsfg
   
 
}
 
 function 
mailer(){
       
   
$nombre "Yo";
   
$mail "algún mail";             
   
$empresa "yo Corp";
   
$mensaje "...";

   
$header 'From: ' $mail " \r\n";
   
$header .= "X-Mailer: PHP/" phpversion() . " \r\n";
   
$header .= "Mime-Version: 1.0 \r\n";
   
$header .= "Content-Type: text/plain";

   
$mensaje "Este mensaje fue enviado por " $nombre ", de la empresa " $empresa " \r\n";
   
$mensaje .= "Su e-mail es: " $mail " \r\n";
   
$mensaje .= "Mensaje: " .$mensaje." \r\n";
   
$mensaje .= "Enviado el " date('d/m/Y'time());

    
$para 'algun otro mail';
    
$asunto 'Sistema de Análisis de Eventos';

    
mail($para$asuntoutf8_decode($mensaje), $header);
    
 }          
?>
Este es el JavaScript que recibe las variables.

Código HTML:
            var sendReq = getXmlHttpRequestObject();
			var receiveReq = getXmlHttpRequestObject();
			var sendDat = getXmlHttpRequestObject();
			var lastMessage = 0;
			var mTimer;
			//Función para inicializar la página.
			function startSOC() {
				//Iniciar recibiendo Logs.
				getLogs();
			}		
			//Obtener los objetos XmlHttpRequest especificos del navegador.
			function getXmlHttpRequestObject() {
				if (window.XMLHttpRequest) {
					return new XMLHttpRequest();
				} else if(window.ActiveXObject) {
					return new ActiveXObject("Microsoft.XMLHTTP");
				} else {
					document.getElementById('estado').innerHTML = 'No se puede crear el objeto XmlHttpRequest.';
				}
			}
			
			
			function getLogs() {
					receiveReq.open("GET", 'getLogs.php?logs=1&last=' + lastMessage, true);
					receiveReq.onreadystatechange = ReceiveLogs; 
					receiveReq.send(null);
			}
		
			//Funcion para obtener los mensajes de logs.
			function ReceiveLogs() {
					var logs_div = document.getElementById('div_logs');
					var xmldoc = receiveReq.responseXML;
					var message_nodes = xmldoc.getElementsByTagName("message"); 
					var n_messages = message_nodes.length
					for (i = 0; i < n_messages; i++) {
						var seq_node = message_nodes[i].getElementsByTagName("seq");
						var host_node = message_nodes[i].getElementsByTagName("host");
						var priority_node = message_nodes[i].getElementsByTagName("priority");
						var date_node = message_nodes[i].getElementsByTagName("date");
						var time_node = message_nodes[i].getElementsByTagName("time");
						var id_node = message_nodes[i].getElementsByTagName("id");			
						var src_node = message_nodes[i].getElementsByTagName("src");				
						var interface_node = message_nodes[i].getElementsByTagName("interface");			
						var interfaced_node = message_nodes[i].getElementsByTagName("interfaced");
						var dst_node = message_nodes[i].getElementsByTagName("dst");
						
						var seq = seq_node[0].firstChild.nodeValue;
						
						//Inserta el valor de los nodos en logs_div
						logs_div.innerHTML += "<div id='host'>" + host_node[0].firstChild.nodeValue + "</div>"; 
						//Selección de color para el campo Prioridad					
						switch(priority_node[0].firstChild.nodeValue){
							case 'emergency':
							logs_div.innerHTML += "<div id='priority1'>Emergencia</div>";
							break;
							case 'alert':
							logs_div.innerHTML += "<div id='priority2'>Alerta</div>";
							break;
							case 'critical':
							logs_div.innerHTML += "<div id='priority3'>Critico</div>";
							break;
							case 'error':
							logs_div.innerHTML += "<div id='priority4'>Eror</div>";
							break;
							case 'warning':
							logs_div.innerHTML += "<div id='priority5'>Advertencia</div>";
							break;
							case 'notice':
							logs_div.innerHTML += "<div id='priority6'>Notificaci&oacute;n</div>";
							break;
							case 'information':
							logs_div.innerHTML += "<div id='priority7'>Informaci&oacute;n</div>";
							break;
							case 'debug':
							logs_div.innerHTML += "<div id='priority8'>Depuraci&oacute;n</div>";
							break;
						}
						logs_div.innerHTML += "<div id='date'>" + date_node[0].firstChild.nodeValue + "</div>";
						logs_div.innerHTML += "<div id='time'>" + time_node[0].firstChild.nodeValue + "</div>";
						logs_div.innerHTML += "<div id='id'>" + id_node[0].firstChild.nodeValue + "</div>";						
						logs_div.innerHTML += "<div id='src'>" + src_node[0].firstChild.nodeValue + "</div>";
						logs_div.innerHTML += "<div id='interface'>" + interface_node[0].firstChild.nodeValue + "</div>";
						logs_div.innerHTML += "<div id='interfaced'>" + interfaced_node[0].firstChild.nodeValue + "</div>";
 						logs_div.innerHTML += "<div id='dst'>" + dst_node[0].firstChild.nodeValue + "</div>";	
 						logs_div.innerHTML += "<div id='mensaje'><a  href='javascript:mensaje(" + seq + ")'>Mensaje</a></div><br>";
						logs_div.scrollTop = logs_div.scrollHeight;
						lastMessage = (message_nodes[i].getAttribute('id'));					
						
					}
					mTimer = setTimeout('getLogs();',1000); //Verifica cambios en la base de datos cada segundo.
		        
			}
			
			function mensaje(seq){
             window.open('mensaje.php?seq='+seq+'&action=monitoreo','mensaje','width=550,height=425,left=230,top=50','target=Mensaje');
            }
  #2 (permalink)  
Antiguo 05/06/2009, 18:30
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Script PHP con XML no funciona si lo modifico...

te sale algun error de casualidad?

Segundo que hace el elseif

Código PHP:
    if($salida[1]=="eventos"){ 
      
mailer();    //*********Si mando a llamar aqui la función "mailer()" ya no me actuliza el html. Aquí es mi problema. 
             
    
}elseif($salida[1]=="severidad"){ 
           
    } 
  #3 (permalink)  
Antiguo 05/06/2009, 18:43
(Desactivado)
 
Fecha de Ingreso: mayo-2009
Mensajes: 37
Antigüedad: 15 años
Puntos: 0
Pregunta Respuesta: Script PHP con XML no funciona si lo modifico...

No abimaelrc, no me sale ningun error, simplemente ya no me funciona la actualización, y el elseif aun no hace nada, simplemente iba a probar si funcionaba el mailer, tomando en cuenta la condición que tenia y force a que la condición se cumpliera, ingresando a la BD los datos que cumplian la condición, pero simplemente no me actualiza, por ende no envia el mail.
  #4 (permalink)  
Antiguo 05/06/2009, 18:56
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Script PHP con XML no funciona si lo modifico...

Trata de hacer un mail sencillo directo en la pagina para ver si envia los datos me refiero

Código PHP:
$sendEmail mail("escribe tu email aqui para probar","Escribir algo sencillo","un texto que se corto");
if(
$sendEmail){
  echo 
"mensaje enviado";
}else{
  echo 
"error enviando mensaje";

Me dejas saber si envia el email
  #5 (permalink)  
Antiguo 05/06/2009, 19:18
(Desactivado)
 
Fecha de Ingreso: mayo-2009
Mensajes: 37
Antigüedad: 15 años
Puntos: 0
Respuesta: Script PHP con XML no funciona si lo modifico...

No no lo envió y tampoco me funcionó l actulización a la hora de poner el código que me pasaste, ya habia probado poniendo un simple "echo" para ver si me funcionaba el "if" y desde que puse el echo tampoco me actualizaba, una vez que quito esa parte de código enseguida me actualiza el html con los registros que metí mientras el código del mail estaba ahi donde lo quiero poner. :s
  #6 (permalink)  
Antiguo 05/06/2009, 19:46
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Script PHP con XML no funciona si lo modifico...

De casualidad tu tienes un smtp server?
  #7 (permalink)  
Antiguo 05/06/2009, 19:56
(Desactivado)
 
Fecha de Ingreso: mayo-2009
Mensajes: 37
Antigüedad: 15 años
Puntos: 0
Respuesta: Script PHP con XML no funciona si lo modifico...

No no lo tengo, pero aun asi, supongamos que no quiero enviar un mail, simplemente por poner un "echo 'algo'; " en lugar del "mail()", si se cumple la condición, ya no me funciona la actualización, más bien esa es mi pregunta, primero quiero saber por que si pongo algo ya no me funciona. :s
  #8 (permalink)  
Antiguo 05/06/2009, 20:07
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Script PHP con XML no funciona si lo modifico...

Tu estas usando ajax con eso verdad?
  #9 (permalink)  
Antiguo 05/06/2009, 20:28
(Desactivado)
 
Fecha de Ingreso: mayo-2009
Mensajes: 37
Antigüedad: 15 años
Puntos: 0
Respuesta: Script PHP con XML no funciona si lo modifico...

Si :S si lo utilizo.
  #10 (permalink)  
Antiguo 05/06/2009, 20:47
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Script PHP con XML no funciona si lo modifico...

aun escribiendo una variable sin enviarla al navegador no te sale?
Ejemplo

$variable = "algo";
  #11 (permalink)  
Antiguo 05/06/2009, 20:49
(Desactivado)
 
Fecha de Ingreso: mayo-2009
Mensajes: 37
Antigüedad: 15 años
Puntos: 0
Respuesta: Script PHP con XML no funciona si lo modifico...

Si si funciona, si pongo eso entre el "if", si funciona.
  #12 (permalink)  
Antiguo 05/06/2009, 20:57
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Script PHP con XML no funciona si lo modifico...

Pues el problema es javascript que no te esta permitiendo escribir un echo más alla del xml. Pero el problema principal que tu tienes es que no estas enviando email porque no tienes un smtp server, esto ocaciona que envie datos al navegador y eso hace que no envie informacion al html. Mi sugerencia es que instales un smtp server primero luego hagas pruebas con otro archivo de php enviando email hasta que logres enviarlo y luego añades el mailer(); dentor del if y vas a ver que te funciona tanto enviar email como recibir los datos en el html.

Descarga Minirelay es un smtp server

Me dejas saber
  #13 (permalink)  
Antiguo 05/06/2009, 21:02
(Desactivado)
 
Fecha de Ingreso: mayo-2009
Mensajes: 37
Antigüedad: 15 años
Puntos: 0
Respuesta: Script PHP con XML no funciona si lo modifico...

Ok, muchas gracias, intentaré hacer eso, entonces instalaré un server SMTP y probaré. Minirelay corre en linux?? por q estoy trabajando en linux.
  #14 (permalink)  
Antiguo 05/06/2009, 21:05
(Desactivado)
 
Fecha de Ingreso: mayo-2009
Mensajes: 37
Antigüedad: 15 años
Puntos: 0
Respuesta: Script PHP con XML no funciona si lo modifico...

Por cierto tienes razón en lo de que la función mail, me manda información al navegador, ejecute el mail que me pasaste en un script solo y me puso esto:

Cita:
Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:\AppServ\www\mail.php on line 3
error enviando mensaje
Se debera a lodel server??
  #15 (permalink)  
Antiguo 05/06/2009, 21:08
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Script PHP con XML no funciona si lo modifico...

No sabria indicarte. Pero tienes que modificar tambien el php.ini y busca esa linea que te menciono sendmail_from y coloca el email que tu quieres que las personas vean de donde vino el email por lo general se coloca algo asi

noreply@ dominio.com
  #16 (permalink)  
Antiguo 05/06/2009, 21:10
(Desactivado)
 
Fecha de Ingreso: mayo-2009
Mensajes: 37
Antigüedad: 15 años
Puntos: 0
Pregunta Respuesta: Script PHP con XML no funciona si lo modifico...

ahora ejecute el que yo tenia y me dijo esto:

Cita:
Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\AppServ\www\mail.php on line 21
Pienso que sto si es por la falta del server no?
  #17 (permalink)  
Antiguo 05/06/2009, 21:15
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Script PHP con XML no funciona si lo modifico...

ya conseguiste un smtp server?
  #18 (permalink)  
Antiguo 05/06/2009, 21:26
(Desactivado)
 
Fecha de Ingreso: mayo-2009
Mensajes: 37
Antigüedad: 15 años
Puntos: 0
Respuesta: Script PHP con XML no funciona si lo modifico...

No, no puedo, estoy teniendo problemas con mi conexión a Internet, no puedo descargar nada se me reinicia mi modem, pero esa ya es otro problema, probaré descargarlo más tarde y cuando lo haga, posteo que pasó. Gracias por la ayuda... XD
  #19 (permalink)  
Antiguo 05/06/2009, 21:38
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Script PHP con XML no funciona si lo modifico...

Tema trasladado desde PHP
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 03:20.