Foros del Web » Programando para Internet » Javascript »

No me lleva a la pagina.

Estas en el tema de No me lleva a la pagina. en el foro de Javascript en Foros del Web. @jmdearpe, he estado revisando el código y me parece que aquí: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original xmlhttp . send ( ) ; Deberían de ...

  #31 (permalink)  
Antiguo 02/12/2012, 18:11
Avatar de satjaen  
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 12 años, 5 meses
Puntos: 10
Respuesta: No me lleva a la pagina.

@jmdearpe, he estado revisando el código y me parece que aquí:
Código PHP:
Ver original
  1. xmlhttp.send();

Deberían de ir las variables?
Te recuerdo el cod completo.

Código PHP:
Ver original
  1. function GuardaFormulario()
  2. {
  3.     var _TELEFONO = document.forms['form1'].elements['TELEFONO'];
  4.     if (_TELEFONO.value.length == 0)
  5.     {
  6.  
  7.         alert("Insertar el Teléfono");
  8.  
  9.         _TELEFONO.focus();
  10.  
  11.         return 0;
  12.  
  13.     }
  14.     else
  15.     {
  16.         if (window.XMLHttpRequest)
  17.         {
  18.             xmlhttp=new XMLHttpRequest();
  19.         }
  20.         else
  21.         {
  22.             xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  23.         }
  24.        
  25.         xmlhttp.open("GET", "valida1.php?TELEFONO=" + _TELEFONO, true);
  26.         xmlhttp.send();
  27.         if (xmlhttp.readyState==4 && xmlhttp.status==200)      
  28.        
  29.         {
  30.             var xml = xmlhttp.responseXML;
  31.             dato=xml.getElementsByTagName("datos");
  32.             if(dato[0].firstChild.nodeValue=="1")
  33.             {
  34.                 num_user=xml.getElementsByTagName("numusuario");
  35.                 var boton = confirm("¡Usuario existente!¿Desea hacer un nuevo registro?"); 
  36.                 if (boton)
  37.                 {
  38.                     window.location.href = "menu3.php?id="+num_user[0];
  39.                 }
  40.                 else
  41.                 {  
  42.                     window.location.href = "menu4.php";  
  43.                 }
  44.             }
  45.             if(dato[0].firstChild.nodeValue=="0")
  46.             {                
  47.                 alert("¡El Cliente se ha dado de alta!");    
  48.                 document.forms['form1'].submit();////Aquí mando el formulario si el teléfono no existe.
  49.             }
  50.         }
  51.     }
  52. }
  #32 (permalink)  
Antiguo 03/12/2012, 05:09
Avatar de satjaen  
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 12 años, 5 meses
Puntos: 10
Respuesta: No me lleva a la pagina.

Cita:
Iniciado por jmdearpe Ver Mensaje
Si tienes una conexión a base de datos correcta y si tienes definidas las tablas con los campos que muestras en la consulta, y si tienes definido un usuario que conecta a la base de datos correctamente y has puesto en el archivo Connections/conexion.php que incluyes una conexión a la base de datos correcta con un usuario con permisos para acceder y consultar a esa db, ese script hace una consulta A LA BASE DE DATOS usando el telefono que se envia por get(donde ponemos ?TELEFONO=ELTELEFONO) y con el resultado genera un xml.

Si el telefono por el que se pregunta existe en la base de datos, genera un xml devolviendo
<respuesta>
<datos>1</datos>
<numusuario>elnumero de usuario que devuelva la consulta</numusuario>
</respuesta>
si el telefono no existe simplemente debería de devolver un xml asi
<respuesta>
<datos>0</datos>
<respuesta>

Y mientras esto no te funcione de forma correcta no habra ninguna forma de que te funcione el resto.

Posibles causas para que no funcione:

verificar conexión a base de datos, verificar permiso de usuario que conecta asi como clave, verficar script de conexión a base de datos.

Y luego ya cuando esto funcione el javascript es tb sencillo recoges los nodos xml que genera el php y se actua en consecuencia...

A ver si consigues hacerlo funcionar.

Un saludo
@jmdearpe, he podido hacer esto que me aconsejaste. Lo único que falta es pasar el parámetro del php al ajax porque me sale esto:


GET http://www.xn--electrodiseo-khb.es/w....php?TELEFONO=[object%20HTMLInputElement] 200 OK 206ms

ParámetrosEncabezadosRespuestaXML
TELEFONO [object HTMLInputElement]


Gracias por la ayuda.
  #33 (permalink)  
Antiguo 03/12/2012, 06:34
 
Fecha de Ingreso: noviembre-2012
Mensajes: 66
Antigüedad: 12 años, 2 meses
Puntos: 10
Respuesta: No me lleva a la pagina.

Hola,

Cambiando esta línea te funcionará...

Código HTML:
xmlhttp.open("GET", "valida1.php?TELEFONO=" + _TELEFONO.value, true);
Ya te funciona el php?

Mira a ver que la ruta de include a la conexión esté bien porque tienes una mayúscula a ver si es por eso, si crees que la conexión está bien pon aquí el código (no pongas la clave ni el usuario claro eso sustituyelo al copiar el codigo por ***)

Saludos,
  #34 (permalink)  
Antiguo 03/12/2012, 07:19
Avatar de satjaen  
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 12 años, 5 meses
Puntos: 10
Respuesta: No me lleva a la pagina.

Cita:
Iniciado por jmdearpe Ver Mensaje
Hola,

Cambiando esta línea te funcionará...

Código HTML:
xmlhttp.open("GET", "valida1.php?TELEFONO=" + _TELEFONO.value, true);
Ya te funciona el php?

Mira a ver que la ruta de include a la conexión esté bien porque tienes una mayúscula a ver si es por eso, si crees que la conexión está bien pon aquí el código (no pongas la clave ni el usuario claro eso sustituyelo al copiar el codigo por ***)

Saludos,
Ok, muchas gracias por seguir contestando. Ya funciona bien lo del parámetro:

GET http://www.xn--electrodiseo-khb.es/w...EFONO=95300000 200 OK 185ms
ParámetrosEncabezadosRespuestaXML
TELEFONO 95300000



pero sigue sin continuar a (confirm("¡Usuario existente!¿Desea hacer un nuevo registro?) o mandar el formulario. Te pongo los códigos:


Código PHP:
function GuardaFormulario()
{
    var 
TELEFONO document.forms['form1'].elements['TELEFONO'];
    if (
TELEFONO.value.length == 0)
    {

        
alert("Insertar el Teléfono");

        
TELEFONO.focus();

        return 
0;

    }
    else
    {
        if (
window.XMLHttpRequest)
        {
            
xmlhttp=new XMLHttpRequest();
        }
        else
        {
            
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        
xmlhttp.open("GET""valida1.php?TELEFONO=" TELEFONO.valuetrue);
        
xmlhttp.send();    
        if (
xmlhttp.readyState==&& xmlhttp.status==200)
    
        {
            var 
xml xmlhttp.responseXML;
            
dato=xml.getElementsByTagName("datos");
            if(
dato[0].firstChild.nodeValue=="1")
            {
                
num_user=xml.getElementsByTagName("numusuario");
                var 
boton confirm("¡Usuario existente!¿Desea hacer un nuevo registro?");    
                if (
boton)
                { 
                    
window.location.href "menu3.php?id="+num_user[0]; 
                } 
                else 
                {  
                    
window.location.href "menu4.php";      
                }
            }
            if(
dato[0].firstChild.nodeValue=="0")
            {                   
                
alert("¡El Cliente se ha dado de alta!");      
                
document.forms['form1'].submit();////Aquí mando el formulario si el teléfono no existe.
            

        }
    }


Código PHP:
<?php
error_reporting
(E_ALL);
ini_set('display_errors''1');
header('Content-Type: text/xml');
header("Cache-Control: no-store, no-cache, must-revalidate");    

$xml="<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n";
$xml.="<respuesta>\n";
$con=mysql_connect ("localhost","root","root");
mysql_select_db("pruebas",$con);
$TELEFONO = isset($_GET['TELEFONO']) ? $_GET['TELEFONO']:"";
$sql="SELECT TELEFONO,NUM_USUARIO FROM usuarios WHERE TELEFONO ='".$TELEFONO."'"
$datos=mysql_query($sql,$con);
     while (
$row=mysql_fetch_array($datos)){
           
$TELEFONO=$row['TELEFONO'];
           
$NUM_USUARIO=$row['NUM_USUARIO'];
     }
     
$rows mysql_num_rows($datos); 
if (
$rows>0
{
    
$xml.="<datos><![CDATA[1]]></datos>\n"
    
$xml.="<numusuario><![CDATA[".$NUM_USUARIO."]]></numusuario>\n";
}
else
{     
    
$xml.="<datos><![CDATA[0]]></datos>\n";  
}
$xml.="</respuesta>\n";
echo 
$xml;
?>
  #35 (permalink)  
Antiguo 03/12/2012, 08:00
 
Fecha de Ingreso: noviembre-2012
Mensajes: 66
Antigüedad: 12 años, 2 meses
Puntos: 10
Respuesta: No me lleva a la pagina.

Pero sigues teniendo error de conexión a la base de datos en el php?

Es que si tienes error de conexión lo tienes que resolver sino de momento no te funcionará.
De todas formas te añado una cosa que tb faltaba:
Código HTML:
function GuardaFormulario()
{
    var TELEFONO = document.forms['form1'].elements['TELEFONO'];
    if (TELEFONO.value.length == 0)
    {

        alert("Insertar el Teléfono");

        TELEFONO.focus();

        return 0;

    }
    else
    {
        if (window.XMLHttpRequest)
        {
            xmlhttp=new XMLHttpRequest();
        }
        else
        {
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.open("GET", "valida1.php?TELEFONO=" + TELEFONO.value, true);
        xmlhttp.send();    
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
    
        {
            var xml = xmlhttp.responseXML;
            dato=xml.getElementsByTagName("datos");
            if(dato[0].firstChild.nodeValue=="1")
            {
                num_user=xml.getElementsByTagName("numusuario");
                var boton = confirm("¡Usuario existente!¿Desea hacer un nuevo registro?");    
                if (boton)
                { 
                    window.location.href = "menu3.php?id="+num_user[0].firstChild.nodeValue;
                } 
                else 
                {  
                    window.location.href = "menu4.php";      
                }
            }
            if(dato[0].firstChild.nodeValue=="0")
            {                   
                alert("¡El Cliente se ha dado de alta!");      
                document.forms['form1'].submit();////Aquí mando el formulario si el teléfono no existe.
            } 
        }
    }
}
  #36 (permalink)  
Antiguo 03/12/2012, 09:26
Avatar de satjaen  
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 12 años, 5 meses
Puntos: 10
Respuesta: No me lleva a la pagina.

Cita:
Iniciado por jmdearpe Ver Mensaje
Pero sigues teniendo error de conexión a la base de datos en el php?

Es que si tienes error de conexión lo tienes que resolver sino de momento no te funcionará.
De todas formas te añado una cosa que tb faltaba:
Código HTML:
function GuardaFormulario()
{
    var TELEFONO = document.forms['form1'].elements['TELEFONO'];
    if (TELEFONO.value.length == 0)
    {

        alert("Insertar el Teléfono");

        TELEFONO.focus();

        return 0;

    }
    else
    {
        if (window.XMLHttpRequest)
        {
            xmlhttp=new XMLHttpRequest();
        }
        else
        {
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.open("GET", "valida1.php?TELEFONO=" + TELEFONO.value, true);
        xmlhttp.send();    
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
    
        {
            var xml = xmlhttp.responseXML;
            dato=xml.getElementsByTagName("datos");
            if(dato[0].firstChild.nodeValue=="1")
            {
                num_user=xml.getElementsByTagName("numusuario");
                var boton = confirm("¡Usuario existente!¿Desea hacer un nuevo registro?");    
                if (boton)
                { 
                    window.location.href = "menu3.php?id="+num_user[0].firstChild.nodeValue;
                } 
                else 
                {  
                    window.location.href = "menu4.php";      
                }
            }
            if(dato[0].firstChild.nodeValue=="0")
            {                   
                alert("¡El Cliente se ha dado de alta!");      
                document.forms['form1'].submit();////Aquí mando el formulario si el teléfono no existe.
            } 
        }
    }
}
Buenas, el php ya funciona bien y he probado esto último y sigue igual.
Como recibe el archivo js la RESPUESTA DEL PHP?
  #37 (permalink)  
Antiguo 03/12/2012, 15:03
 
Fecha de Ingreso: noviembre-2012
Mensajes: 66
Antigüedad: 12 años, 2 meses
Puntos: 10
Respuesta: No me lleva a la pagina.

Código HTML:
function GuardaFormulario()
{
    var TELEFONO = document.forms['form1'].elements['TELEFONO'];
    if (TELEFONO.value.length == 0)
    {
		
        alert("Insertar el Teléfono");

        TELEFONO.focus();

        return 0;

    }
    else
    {
		if (window.XMLHttpRequest)
		{
			xmlhttp=new XMLHttpRequest();
		}
		else
		{
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
		}	
		xmlhttp.open("GET", "valida1.php?TELEFONO=" + TELEFONO.value, false);
		xmlhttp.send();	   

        if (xmlhttp.readyState==4 && xmlhttp.status==200)      
        {
            var xml = xmlhttp.responseXML;
            dato=xml.getElementsByTagName("datos");
            if(dato[0].firstChild.nodeValue=="1")
            {
                num_user=xml.getElementsByTagName("numusuario");
                if (confirm("¡Usuario existente!¿Desea hacer un nuevo registro?"))
                { 
                   document.forms['form1'].action = location.protocol+'//'+location.hostname+"/"+"menu3.php?id="+num_user[0].firstChild.nodeValue;		
			    } 
                else 
                { 
				    document.forms['form1'].action = location.protocol+'//'+location.hostname+"/"+"menu4.php";  
                }
            }
            if(dato[0].firstChild.nodeValue=="0")
            {                   
                                alert("¡El Cliente se ha dado de alta!");
				document.forms['form1'].submit();////Aquí mando el formulario si el teléfono no existe.
            } 
        }

    }
} 
Hola mira a ver así...

salu2 ;)
  #38 (permalink)  
Antiguo 03/12/2012, 17:03
Avatar de satjaen  
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 12 años, 5 meses
Puntos: 10
Respuesta: No me lleva a la pagina.

Cita:
Iniciado por jmdearpe Ver Mensaje
Código HTML:
function GuardaFormulario()
{
    var TELEFONO = document.forms['form1'].elements['TELEFONO'];
    if (TELEFONO.value.length == 0)
    {
		
        alert("Insertar el Teléfono");

        TELEFONO.focus();

        return 0;

    }
    else
    {
		if (window.XMLHttpRequest)
		{
			xmlhttp=new XMLHttpRequest();
		}
		else
		{
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
		}	
		xmlhttp.open("GET", "valida1.php?TELEFONO=" + TELEFONO.value, false);
		xmlhttp.send();	   

        if (xmlhttp.readyState==4 && xmlhttp.status==200)      
        {
            var xml = xmlhttp.responseXML;
            dato=xml.getElementsByTagName("datos");
            if(dato[0].firstChild.nodeValue=="1")
            {
                num_user=xml.getElementsByTagName("numusuario");
                if (confirm("¡Usuario existente!¿Desea hacer un nuevo registro?"))
                { 
                   document.forms['form1'].action = location.protocol+'//'+location.hostname+"/"+"menu3.php?id="+num_user[0].firstChild.nodeValue;		
			    } 
                else 
                { 
				    document.forms['form1'].action = location.protocol+'//'+location.hostname+"/"+"menu4.php";  
                }
            }
            if(dato[0].firstChild.nodeValue=="0")
            {                   
                                alert("¡El Cliente se ha dado de alta!");
				document.forms['form1'].submit();////Aquí mando el formulario si el teléfono no existe.
            } 
        }

    }
} 
Hola mira a ver así...

salu2 ;)
Vale, esto va mejor ya si me hace el:
if (confirm("¡Usuario existente!¿Desea hacer un nuevo registro?"))
Pero cuando le doy a aceptar no me lleva a menu3.php.
Y otra cosa no quiero que me mande el form1, nada mas que al final en:
document.forms['form1'].submit();////Aquí mando el formulario si el teléfono no existe.
Gracias por tú esfuerzo de verdad. Si pudieras comentar un poco los cambios.
  #39 (permalink)  
Antiguo 03/12/2012, 17:30
Avatar de satjaen  
Fecha de Ingreso: septiembre-2012
Ubicación: Jaén (Andalucía)
Mensajes: 893
Antigüedad: 12 años, 5 meses
Puntos: 10
Respuesta: No me lleva a la pagina.

SOLUCIONADO.
He puesto parte del anterior código.
Código Javascript:
Ver original
  1. function GuardaFormulario()
  2. {
  3.     var TELEFONO = document.forms['form1'].elements['TELEFONO'];
  4.     if (TELEFONO.value.length == 0)
  5.     {
  6.        
  7.         alert("Insertar el Teléfono");
  8.  
  9.         TELEFONO.focus();
  10.  
  11.         return 0;
  12.  
  13.     }
  14.     else
  15.     {
  16.         if (window.XMLHttpRequest)
  17.         {
  18.             xmlhttp=new XMLHttpRequest();
  19.         }
  20.         else
  21.         {
  22.             xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  23.         }  
  24.         xmlhttp.open("GET", "valida1.php?TELEFONO=" + TELEFONO.value, false);
  25.         xmlhttp.send();    
  26.  
  27.         if (xmlhttp.readyState==4 && xmlhttp.status==200)      
  28.         {
  29.             var xml = xmlhttp.responseXML;
  30.             dato=xml.getElementsByTagName("datos");
  31.             if(dato[0].firstChild.nodeValue=="1")
  32.             {
  33.                 num_user=xml.getElementsByTagName("numusuario");
  34.                
  35.                 if (confirm("¡Usuario existente!¿Desea hacer un nuevo registro?"))
  36.                 {
  37.                    window.location.href = "menu3.php?id="+num_user[0].firstChild.nodeValue;    
  38.                 }
  39.                 else
  40.                 {
  41.                     window.location.href = "menu4.php";  
  42.                 }
  43.             }
  44.             if(dato[0].firstChild.nodeValue=="0")
  45.             {                  
  46.                                 alert("¡El Cliente se ha dado de alta!");
  47.                 document.forms['form1'].submit();////Aquí mando el formulario si el teléfono no existe.
  48.             }
  49.         }
  50.  
  51.     }
  52. }

Muchas gracias.
  #40 (permalink)  
Antiguo 03/12/2012, 18:34
 
Fecha de Ingreso: noviembre-2012
Mensajes: 66
Antigüedad: 12 años, 2 meses
Puntos: 10
Respuesta: No me lleva a la pagina.

Ey me alegro de que ya te funcione.

Saludos y suerte con el resto

Etiquetas: usuarios
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 22:53.