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

Tipico caso del usuario(principiante)

Estas en el tema de Tipico caso del usuario(principiante) en el foro de Frameworks JS en Foros del Web. hola amigos llevo un par de semanas intentando el tipico caso de ajax donde un usuario introduce su login y la consulta nos retorna si ...
  #1 (permalink)  
Antiguo 01/09/2011, 02:30
 
Fecha de Ingreso: agosto-2011
Ubicación: Leganés
Mensajes: 14
Antigüedad: 13 años, 3 meses
Puntos: 1
Desacuerdo Tipico caso del usuario(principiante)

hola amigos llevo un par de semanas intentando el tipico caso de ajax donde un usuario introduce su login y la consulta nos retorna si el usuario se encuentra en la base de datos, he leido un libro de ajax, y he probado su ejemplo se llama (manual imprescindible de ajax) pero nada no funciona e probado ejemplos de internet y tampoco me funcionan no se que hago mal pero necesito ayuda de expertos como vosotros.

codigo html con js:
Código PHP:
Ver original
  1. <html>
  2.   <head>
  3.   <title>Ejemplo1</title>
  4.   <script language = "javascript">  
  5.   var XMLHttpRequestObject = false;
  6.   if (window.XMLHttpRequest) {
  7.   XMLHttpRequestObject = new XMLHttpRequest();
  8.   } else if (window.ActiveXObject) {
  9.   XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
  10.   }
  11.  
  12.   function pedirDatos(fuenteDatos, divID, datos){
  13.       if(XMLHttpRequestObject) {
  14.           var obj = document.getElementById(divID);
  15.           XMLHttpRequestObject.open("POST", fuenteDatos, datos);
  16.           XMLHttpRequestObject.onreadystatechange = function(){
  17.               if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
  18.                   obj.innerHTML = XMLHttpRequestObject.responseText;
  19.               }
  20.           }
  21.       XMLHttpRequestObject.send(null);
  22.       }
  23.   }
  24.   </script>
  25.   </head>
  26.  
  27.   <body>
  28.   <H1>Mostrando datos con AJAX</H1>
  29.  
  30.   <form>
  31.   introduce nombre:<input type="text" id="nombre"/>  
  32.   <input type="button" value="Comprobar" onclick="pedirDatos('datos.php','comprobar_mensaje','document.getElementeById('nombre')')">
  33.   </form>
  34.  
  35.   <div id="comprobar_mensaje" style="background-color:#99FF66;">
  36.   <p>Aqu&iacute; aparecer&aacute; texto</p>
  37.   </div>
  38.  
  39.   </body>
  40. </html>

codigo php con consulta:
Código PHP:
Ver original
  1. <?
  2.      $valor=$POST["datos"];
  3.           $conexion=@mysql_connect("xxx.zobyhost.com","zoby_xxx","xxxxxx")or die(mysql_error());
  4.           mysql_select_db ('zoby_xxx_xxx', $conexion) or die(mysql_error());  
  5.           $consulta=mysql_query("SELECT Nick FROM Usuarios WHERE Nick='".$valor."' LIMIT 1");
  6.           mysql_close($conexion);
  7.           $cantidad=mysql_num_rows($consulta);
  8.           if($cantidad==0){  
  9.                 echo "<b>Nick libre</b>";              // El usuario existe en la Base de Datos    
  10.           }else{  
  11.                 echo "<b>Este nick está ocupado</b>";  // Ese nick esta libre  
  12.           }
  13. ?>
  #2 (permalink)  
Antiguo 01/09/2011, 10:47
Avatar de laratik  
Fecha de Ingreso: mayo-2010
Ubicación: Cali
Mensajes: 317
Antigüedad: 14 años, 5 meses
Puntos: 63
Respuesta: Tipico caso del usuario(principiante)

Hola Vecinito87, te recomiendo leas este manual te ayudara mucho, a continuación te remarco en comentarios tus errores (por lo menos en lo que es AJAX y javascript):

Código Javascript:
Ver original
  1. var XMLHttpRequestObject = false;
  2. if (window.XMLHttpRequest) {
  3.     XMLHttpRequestObject = new XMLHttpRequest();
  4. } else if (window.ActiveXObject) {
  5.     XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
  6. }
  7.  
  8. function pedirDatos(fuenteDatos, divID, datos){
  9.     if(XMLHttpRequestObject) {
  10.         var obj = document.getElementById(divID);
  11.         XMLHttpRequestObject.open("POST", fuenteDatos, true);//no se colocan los datos aca, se debe colocar si es sincrono FALSE o asincrono TRUE
  12.         XMLHttpRequestObject.setRequestHeader("Content-Type","application/x-www-form-urlencoded");//debes enviar por cabecera el tipo de contenido
  13.         XMLHttpRequestObject.onreadystatechange = function(){
  14.             if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
  15.                 obj.innerHTML = XMLHttpRequestObject.responseText;
  16.             }
  17.         }
  18.         XMLHttpRequestObject.send("datos="+datos);//si envias por metodo POST debes enviar aca los datos con su correcto formato
  19.     }
  20. }

Código HTML:
<H1>Mostrando datos con AJAX</H1>
<form>
introduce nombre:<input type="text" id="nombre"/>
<input type="button" value="Comprobar" onclick="pedirDatos('prueba.php','comprobar_mensaje',document.getElementById('nombre').value)"><!--Datos debe enviar el value, no el elemento-->
</form>
<div id="comprobar_mensaje" style="background-color:#99FF66;">
<p>Aqu&iacute; aparecer&aacute; texto</p>
</div> 
Ya otra cosa es PHP donde te puedo decir que utilizas $POST en donde debería ir $_POST, te recomiendo revises muy bien tus códigos. Espero haberte sido de ayuda.
__________________
Programar apasiona y lo que apasiona es un arte, por lo tanto programar es un arte.

Quiero karma para en mi próxima vida ser un billonario bien dotado con alas.

Etiquetas: ajax, login, 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 05:55.