Comunidad de diseño web y desarrollo en internet online

problema respuesta de php

Citar            
MensajeEscrito el 16 Jul 2008 05:42 pm
Hola,he hecho un login.php y parece que todo funciona. EL problema es que lo llamo desde un javascript y ese mismo javascript trata la respuesta. la respuesta cuando todo sale bien es "yes". y en el metodo que lo trata tengo un if(variable=="yes"). Pero el problema es que nunca entra en ese if. He pensado miles de cosas incluso que la respuesta venga con saltos de linea ya que en un alert que hice sale muy abajo pero iguale la variable con los mismos saltos de linea y nada..alguna idea,si necesitan mas codigo diganmelo gracias.

Por kamikazes

5 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 16 Jul 2008 06:12 pm

Por El Oso Amoroso

Claber

1780 de clabLevel

6 tutoriales

 

Madrid, España, Europa, Eurasia, La Tierra, Sist.Solar, Vía Láctea, UNIVERSO

firefox
Citar            
MensajeEscrito el 16 Jul 2008 06:53 pm
siento haber sido tan impetuoso pero es fruto de la desesperacion..intentare ser mas claro.

Desde login.js hago una llamada a login.php.

Login.php me devuelve "yes" si todo va bien.

y este es el metodo que utilizo para tratar esa respuesta:

Código :

function updatepage(str){
            
               if(str=="yes"){
            cerrar(); } //me cierra el login y entra en la pagina pero nunca me entra aqui.
          
         else {login();} //me vuelve a mostrar el login si algo fue mal.
          
                    } 
     

Como comente antes he hecho una especie de traza con alerts y la devolucion del php es buena pero salen muy abajo en el alert con lo que supongo que vienen con saltos de linea pero me ha sido imposible tambien por muchos saltos de linea que haya añadido al "yes" en la comparación.


Espero haberme explicado mejor sino volvere a intentarlo con gusto. gracias.

Por kamikazes

5 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 16 Jul 2008 07:07 pm
bueno, si nunca se entra en el if del login.js quiere decir que el problema no está ahí, sino en la llamada a updatepage(str) desde donde se llame... porque es codigo q mandaste esta bien, ademas de ser bastante breve...

Por joarobles

753 de clabLevel

8 tutoriales

 

Córdoba - Argentina

firefox
Citar            
MensajeEscrito el 16 Jul 2008 07:16 pm
ah bueno no lo habia pensado.. y mas cuando el cerrar(); si lo ejecuta bien. y si hago
la comparacion al reves es decir if( str != "yes") si me entra con lo cual he pensado que es el valor del str el que esta mal. pero si le hago un alert me dice que su contenido es yes.. seguire mirando.
gracias por el interes.

Por kamikazes

5 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 16 Jul 2008 07:24 pm
Voy a poner las tres funciones que intervienen a ver si encontramos algo...:


prepara la llamada a php

Código :

function call_login(){
         var username = window.document.f1.username.value;
         var password = window.document.f1.password.value;
         var url = "login.php?username=" + username + "&password=" +password ;
              postRequest(url);
      }  



manda la peticion y recoje la respuesta

Código :

function postRequest(strURL){
            var xmlHttp;
            if(window.XMLHttpRequest){ // For Mozilla, Safari, ...
               var xmlHttp = new XMLHttpRequest();
            }
            else if(window.ActiveXObject){ // For Internet Explorer
               var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlHttp.open('POST', strURL, true);
          
            xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form- urlencoded');
            xmlHttp.onreadystatechange = function(){
            if (xmlHttp.readyState == 4){
               
               updatepage(xmlHttp.responseText);
            }
         }
         xmlHttp.send(strURL);
      }


trata la respuesta:

Código :

function updatepage(str){      
           if(str=="yes"){          
           cerrar();}            
            else {login();}    
}

Por kamikazes

5 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 17 Jul 2008 10:25 am
Mmmm....
Prueba así:

Código :

if ( str.indexOf('yes') > -1 ) ...


Si no funciona...
Dinos qué dice cuando en la función "updatepage(str)", añades un: "alert(str)"
(pero dinos, el contenido íntegro del alert)

Por El Oso Amoroso

Claber

1780 de clabLevel

6 tutoriales

 

Madrid, España, Europa, Eurasia, La Tierra, Sist.Solar, Vía Láctea, UNIVERSO

firefox
Citar            
MensajeEscrito el 17 Jul 2008 01:29 pm
kamikazes, por favor usa la etiqueta code del foro, se usa así:

[ code ] //aquí va tu código [ / code] - Solo elimina los espacios dentro de los [ ]

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.