Foros del Web » Programando para Internet » PHP »

Verificador de Usuarios con PHP y Ajax

Estas en el tema de Verificador de Usuarios con PHP y Ajax en el foro de PHP 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, 22:18
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 PHP y Ajax

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, 11:08
Avatar de ebe
ebe
 
Fecha de Ingreso: marzo-2004
Ubicación: Guatemala
Mensajes: 363
Antigüedad: 20 años, 1 mes
Puntos: 11
Respuesta: Verificador de Usuarios con PHP y Ajax

Hola. Para verificar si el usuario existe en tu base de datos sugiero lo hagas asi:

Código PHP:
$nuevouser $_GET['verificarUser'];
$consulta mysql_query("SELECT * FROM users WHERE user = ".mysql_real_escape_string($nuevouser),$conexion);

 
 if( 
mysql_num_rows($consulta) > 0){
    echo 
"El Usuario ya Existe Use Otro";
 }else{
    echo 
"Usuario Disponible"
en function usuarios(nueno), deberia ser nuevo. Por lo demás si tienes algún error postealo y lo vemos.

saludos.
__________________
http://dev.wsnetcorp.com
  #3 (permalink)  
Antiguo 12/06/2012, 11:09
Avatar de MLDGATO  
Fecha de Ingreso: marzo-2011
Ubicación: Guatemala
Mensajes: 113
Antigüedad: 13 años, 1 mes
Puntos: 2
Respuesta: Verificador de Usuarios con PHP y Ajax

Muchas gracias vos yo tambien soy de guate, te cuento que con el código que me diste me aparece el siguiente error:
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in usuarios.php on line 10, lo que tengo escrito en la línea 10 de este archivo es:
Código PHP:
Ver original
  1. if( mysql_num_rows($consulta) > 0){

El resto del if quedaría igual a como me lo pusiste:

Código PHP:
Ver original
  1. if( mysql_num_rows($consulta) > 0){
  2.     echo "El Usuario ya Existe Use Otro";
  3.  }else{
  4.     echo "Usuario Disponible";
  5.  }

Muchas gracias por tu ayuda buena onda.
  #4 (permalink)  
Antiguo 12/06/2012, 11:24
Avatar de ebe
ebe
 
Fecha de Ingreso: marzo-2004
Ubicación: Guatemala
Mensajes: 363
Antigüedad: 20 años, 1 mes
Puntos: 11
Respuesta: Verificador de Usuarios con PHP y Ajax

Hola un gusto. :)
Ese error es porque algo esta mal en el query, puede ser que en tu tabla users el campo del usuario no sea user como lo puse (solo ejemplificaba utilizando user), verificá bien el nombre del campo donde tienes el nombre de usuario.

También agregale comillas a la comparación asi

Código PHP:
mysql_query("SELECT * FROM users WHERE user = '".mysql_real_escape_string($nuevouser)."'",$conexion); 

saludos.
__________________
http://dev.wsnetcorp.com
  #5 (permalink)  
Antiguo 12/06/2012, 13:31
Avatar de MLDGATO  
Fecha de Ingreso: marzo-2011
Ubicación: Guatemala
Mensajes: 113
Antigüedad: 13 años, 1 mes
Puntos: 2
Pregunta Respuesta: Verificador de Usuarios con PHP y Ajax

Gracias por tu tiempo mano pero sigue el mismo mensaje de error, este es el código completo PHP que me enviaste, incluyendo la nueva consulta.

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

Con el código que tengo casi funciona, el problema que tengo es que solo me toma el primer registro y los demás que están en la tabla de mi base de datos no, este es el código:

Código PHP:
Ver original
  1. $conexion = mysql_connect("localhost","manuel","dardon");
  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 "Usuario Disponible";
  10.     }else{
  11.         echo "El Usuario ya Existe Use Otro";
  12.     }
Al escribir los usuarios de mi tabla me aparecen disponibles aun cuando si están en la tabla, pero si escribo el usuario numero uno de la tabla ahí si me dice que ese usuario ya existe.

Muchas gracias por tu ayuda buena onda mano.
  #6 (permalink)  
Antiguo 13/06/2012, 00:07
Avatar de ebe
ebe
 
Fecha de Ingreso: marzo-2004
Ubicación: Guatemala
Mensajes: 363
Antigüedad: 20 años, 1 mes
Puntos: 11
Respuesta: Verificador de Usuarios con PHP y Ajax

TE aconsejo que verifiques lo siguiente

En mi ejemplo te puse el campo user (tu luego usaste users como el nombre del campo), que es el campo donde debe estar el nombre del usuario, revisa que el campo se llame user o bien cambialo por el nombre del campo que sea. (postea la estructura de datos de tu tabla users para verla)

saludos.


2.
__________________
http://dev.wsnetcorp.com
  #7 (permalink)  
Antiguo 16/06/2012, 14:35
Avatar de MLDGATO  
Fecha de Ingreso: marzo-2011
Ubicación: Guatemala
Mensajes: 113
Antigüedad: 13 años, 1 mes
Puntos: 2
Pregunta Respuesta: Verificador de Usuarios con PHP y Ajax

Disculpa que no he contestado lo que pasa es que en mi trabajo he estado tan ocupado y como trabajo con computadoras al llegar a mi casa ni quiero ver mi computadora jajaja cosas de la vida.

Esta es la estructura de mi tabla de datos como no se como hacer para verla lo que hice fue exportar mi base de datos y vi el código que genero el archivo sql aquí está:

Código MySQL:
Ver original
  1. -- Estructura de tabla para la tabla `users`
  2. --
  3.  
  4. CREATE TABLE IF NOT EXISTS `users` (
  5.   `id` int(11) NOT NULL AUTO_INCREMENT,
  6.   `nombres` varchar(100) NOT NULL,
  7.   `apellidos` varchar(100) NOT NULL,
  8.   `usuario` varchar(50) NOT NULL,
  9.   `contrasena` varchar(50) NOT NULL,
  10.   PRIMARY KEY (`id`),
  11.   UNIQUE KEY `usuario` (`usuario`)

Como te dije antes casi me funciona el problema es que solo me toma el primer usuario de mi tabla con los demás no funciona.

Muchas Gracias.

Etiquetas: ajax, javascript, mysql
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 11:56.