Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Verificador de Usuarios con Ajax y PHP

Estas en el tema de Verificador de Usuarios con Ajax y PHP en el foro de Javascript en Foros del Web. Bueno amigos de este gran foro, hoy vengo con una gran duda y es que estoy estudiando programación web por mi cuenta osea que soy ...
  #1 (permalink)  
Antiguo 09/06/2012, 21:45
Avatar de MLDGATO  
Fecha de Ingreso: marzo-2011
Ubicación: Guatemala
Mensajes: 113
Antigüedad: 13 años, 1 mes
Puntos: 2
Pregunta Verificador de Usuarios con Ajax y PHP

Bueno amigos de este gran foro, hoy vengo con una gran duda y es que estoy estudiando programación web por mi cuenta osea que soy autodidacta y hoy vengo con este problema, tengo un formulario en el cual cuando una persona escriba el nombre de usuario para registrarse en x pagina le aparezca un mensaje indicandole que el usuario está diponible o si no lo está todo esto por medio de ajax para que la persona no tenga que refrescar la pagina completa, dicho usuario se encuentra en una base de datos de mysql este es el código que tengo:

HTML:

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  4. <title>Untitled Document</title>
  5. </head>
  6.  
  7. <form id="form1" name="form1" method="get" action="">
  8.   <label for="usuario">Usuario:</label>
  9.   <input type="text" name="usuario" id="usuario" onkeyup="usuarios(this.value)" />
  10.   <br />
  11.   <span id="ErrorUser"></span>
  12. </form>
  13. </body>
  14. </html>

Como ven tengo un input text en el cual cuando hay onkeyup me llame una función con el nombre usuarios, dicha función es esta:

Javascipt:

Código Javascript:
Ver original
  1. function usuarios(nueno){
  2.         var usuario;
  3.         if(nuevo.length==0){
  4.             document.getElementById("ErrorUser").innerHTML="";
  5.             return;
  6.         }
  7.         if (window.XMLHttpRequest){
  8.             usuario=new XMLHttpRequest();
  9.         }else{
  10.             usuario=new ActiveXObject("Microsoft.XMLHTTP");
  11.         }
  12.          usuario.onreadystatechange=function(){
  13.             if (usuario.readyState==4 && usuario.status==200){
  14.                 document.getElementById("ErrorUser").innerHTML=usuario.responseText;
  15.             }
  16.         }
  17.         usuario.open("GET","usuarios.php?verificarUser="+nuevo,true);
  18.         usuario.send();
  19.     }

Dicha función busca un archivo llamado usuarios.php y envía la variable verificarUser a dicho archivo, en este archivo tengo el siguiente código:

PHP:

Código PHP:
Ver original
  1. $conexion = mysql_connect("localhost","root","");
  2.     mysql_select_db("usuarios",$conexion);
  3.    
  4.     $consulta = mysql_query("SELECT * FROM users",$conexion);
  5.     $fila = mysql_fetch_array($consulta);
  6.     $nuevouser = $_GET['verificarUser'];
  7.    
  8.     if($nuevouser==$fila['usuario']){
  9.         echo "El Usuario ya Existe Use Otro";
  10.     }else{
  11.         echo "Usuario Disponible";
  12.     }

Según mi lógica todo esta bien pero yo soy un bruto que está aprendiendo, alguien que me pueda orientar se lo agradecería mucho.
  #2 (permalink)  
Antiguo 10/06/2012, 14:19
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Verificador de Usuarios con Ajax y PHP

en la cadena de consulta a la bd prueba a usar el operador like
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #3 (permalink)  
Antiguo 16/06/2012, 15:35
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Verificador de Usuarios con Ajax y PHP

intenta poner ; "punto y coma" luego de el paréntesis de value.
algo así:
Código HTML:
Ver original
  1. <input type="text" name="usuario" id="usuario" onkeyup="usuarios(this.value);" />

y luego cambia esto

Código PHP:
Ver original
  1. $conexion = mysql_connect("localhost","root","");
  2.     mysql_select_db("usuarios",$conexion);
  3.    
  4.     $consulta = mysql_query("SELECT * FROM users",$conexion);
  5.     $fila = mysql_fetch_array($consulta);
  6.     $nuevouser = $_GET['verificarUser'];
  7.    
  8.     if($nuevouser==$fila['usuario']){
  9.         echo "El Usuario ya Existe Use Otro";
  10.     }else{
  11.         echo "Usuario Disponible";
  12.     }

por esto:

Código PHP:
Ver original
  1. $conexion = mysql_connect("localhost","root","");
  2.     mysql_select_db("usuarios",$conexion);
  3.    
  4.     $nuevouser = $_GET['verificarUser'];
  5.  
  6.     $consulta = mysql_query("SELECT TUCOLUMNANOMBREUSUARIO FROM users WHERE TUCOLUMNANOMBREUSUARIO = '$nuevouser'",$conexion);
  7.    
  8.  
  9.     if(mysql_num_rows($consulta) == 1)
  10.     {
  11.     echo "El Usuario ya Existe Use Otro";
  12.     }else{
  13.     echo "Usuario Disponible";
  14.              }

Lo que te quiero decir es que selecciones de tu tabla users solo la columna que hace referencia al nombre del usuario ( es la que te puse como TUCOLUMNANOMBREUSUARIO porque obviamente yo no se como se llama :D )y no a todas las columnas( * ), y luego con un condicional WHERE haces que recupere solo los usuarios que tienen de nombre ese nombre que se ingreso en la variable $nuevouser.
La función mysql_num_rows devuelve 1 si la consulta que se pasa entre paréntesis devuelve algun resultado ( mysql_num_rows devuelve 1 si la consulta devuelve alguna fila o sea algun resultado, quiere decir que si devuelve 1 es porque ya hay un usuario con ese nombre :D ), y bueno por lo tanto si devuelve 1 se ejecuta el mensaje correspondiente y sino el otro, espero que te halla servido.

Última edición por rodrigo791; 16/06/2012 a las 18:42
  #4 (permalink)  
Antiguo 16/06/2012, 21:22
Avatar de MLDGATO  
Fecha de Ingreso: marzo-2011
Ubicación: Guatemala
Mensajes: 113
Antigüedad: 13 años, 1 mes
Puntos: 2
De acuerdo Respuesta: Verificador de Usuarios con Ajax y PHP

Amigo eres lo máximo es muy lógico lo que me haz enseñado el día de hoy te lo agradezco mucho por tomar tu tiempo y escribir el script para mi. Me haz ayudado mucho.

Etiquetas: ajax, mysql, 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:40.