Foros del Web » Programando para Internet » PHP »

Ajax no recoge el valor de mis inputs

Estas en el tema de Ajax no recoge el valor de mis inputs en el foro de PHP en Foros del Web. Hola a todos los foreros pos mi problema es el siguiente estoy implementando un login con ajax, el archivo ajax es el siguiente @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); ...
  #1 (permalink)  
Antiguo 02/12/2011, 17:58
 
Fecha de Ingreso: julio-2010
Ubicación: La Ciudad Blanca, Mérida-Yucatán
Mensajes: 375
Antigüedad: 13 años, 9 meses
Puntos: 7
Ajax no recoge el valor de mis inputs

Hola a todos los foreros pos mi problema es el siguiente estoy implementando un login con ajax, el archivo ajax es el siguiente
Código Javascript:
Ver original
  1. // JavaScript Document
  2. function createObject() {
  3. var request_type;
  4. var browser = navigator.appName;
  5. if(browser == "Microsoft Internet Explorer"){
  6. request_type = new ActiveXObject("Microsoft.XMLHTTP");
  7. }else{
  8. request_type = new XMLHttpRequest();
  9. }
  10. return request_type;
  11. }
  12.  
  13. var http = createObject();
  14. function login() {
  15.     // Optional: Show a waiting message in the layer with ID ajax_response
  16.     document.getElementById('mensaje').innerHTML = "Cargando...";
  17.     // Required: verify that all fileds is not empty. Use encodeURI() to solve some issues about character encoding.
  18.     var nick =  document.getElementById('nick').value;
  19.     var pass =  document.getElementById('pass').value;
  20.    
  21.     // Pass the login variables like URL variable
  22.     http.open('get', 'sesion_on.php?nick='+nick+'&pass='+pass);
  23.     http.onreadystatechange = loginReply;
  24.     http.send(null);
  25. }
  26.  
  27. function loginReply() {
  28.     if(http.readyState == 4){
  29.         var response = http.responseText;
  30.             if(response == 0){
  31.                 // if login fails
  32.                 document.getElementById('mensaje').innerHTML = 'Login Fallo! Verifica tu usuario y password';
  33.                 // else if login is ok show a message: "Welcome + the user name".
  34.             } else {
  35.                 document.getElementById('mensaje').innerHTML = 'Welcome'+response;
  36.                 //window.location="http://localhost/GACELOBOS/menu.php";
  37.             }
  38.     }
  39. }

lo que pasa es que por mas que ingreso en los inputs el nombre de usuario y password correcto siempre me manda el mensaje de fallo de logueo, espero puedan orientarme para resolver esta duda, tambien he de comentar que son mis primeros pasos con ajax por eso estoy intentando con algo sencillo, mi archivo sesion_on contiene lo siguiente
Código PHP:
Ver original
  1. <?php
  2. include('clases.php');
  3. $link = new conexion();
  4. if(isset($_GET['nick']) && isset($_GET['pass'])){
  5. $user = $_GET['nick'];
  6. $pass = $_GET['pass'];
  7.     if(mysql_num_rows ($link->consulta("SELECT * FROM usuarios WHERE nick = '$user' and pass = '$pass' and tipo = 1")) < 1)
  8.     {
  9.         echo "0";
  10.            
  11.     }else{
  12.        
  13.         session_start();
  14.         $_SESSION['sesion'] = $user;
  15.  
  16.     }
  17. }  
  18. ?>

y por ultimo el formulario de logueo
Código HTML:
Ver original
  1. <script src="ajax.js" language="javascript"></script>
  2. <link rel="stylesheet" href="stylos.css" media="screen" />
  3. </head>
  4.  
  5. <div id="pag">
  6.     <div id="imag"></div>
  7.     <div id="formulario">
  8.     <form name="log" id="log" action="javascript: login()" method="post">
  9.         <span>Usuario <input type="text" name="nick" id="nick" /></span><br style="clear:both"/>
  10.         <span>Password <input type="password" name="pass" id="pass" /></span><br style="clear:both" />
  11.         <span><input type="submit" name="oper" value="Ingresar" /><input type="reset" name="reset" value="Borrar" /></span>
  12.     </form>
  13.     </div>
  14.     <br style="clear:both" />
  15.     <div id="mensaje"></div>
  16. </div>
  17. </body>

gracias de antemano
__________________
--No todos aprendemos de la misma forma, ni a la misma velocidad---
  #2 (permalink)  
Antiguo 02/12/2011, 19:05
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 2 meses
Puntos: 22
Respuesta: Ajax no recoge el valor de mis inputs

En el lado de la respuesta dile:

echo $_VALORES_RECIBIDOS

y dinos que te muestra
  #3 (permalink)  
Antiguo 04/12/2011, 11:43
 
Fecha de Ingreso: julio-2010
Ubicación: La Ciudad Blanca, Mérida-Yucatán
Mensajes: 375
Antigüedad: 13 años, 9 meses
Puntos: 7
Respuesta: Ajax no recoge el valor de mis inputs

Hola Anarko, le puse echo a la respuesta y lo que me muestra son los valores de los inputs, es decir el usuario y password de la contraseña, ya logre que me reconozca si existe en la bd.

Ahora mi duda es, si el usuario y contraseña son correctos como le haria para rideccionar a otra pagina he pensado en hacerlo de esta forma
Código Javascript:
Ver original
  1. function loginReply() {
  2.     if(http.readyState == 4){
  3.         var response = http.responseText;
  4.             if(response == 0){
  5.                 // if login fails
  6.                 document.getElementById('mensaje').innerHTML = 'Login Fallo! Verifica tu usuario y password';
  7.                 // else if login is ok show a message: "Welcome + the user name".
  8.             } else {
  9.                 //document.getElementById('mensaje').innerHTML = 'Welcome'+response;
  10.                 window.location="http://localhost/MI_SITIO/menu.php";
  11.             }
  12.     }
  13. }
  14.  
  15. pero nose si es la forma correcta, gracias de antemano
__________________
--No todos aprendemos de la misma forma, ni a la misma velocidad---

Etiquetas: ajax, formulario, html, inputs, sql, variables, 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 17:46.