Marcofbb Noticias y Artículos Webmasters



Publicidad marcored

Comprobar nick con Ajax

  • 08/11/2010
  • 9:10 pm
  • marcofbb

Este es un ejemplo sencillo de ajax que sirve para comprobar si existe en nuestra base de datos cuando se va a registrar.

1- Descargar la librería prototype.js y llamarla en el HEAD de nuestra web

<script src="/js/prototype.js" type="text/javascript"></script>

2- En el formulario, en el INPUT donde hay que introducir el nick de usuario pondremos un evento javascript onKeyUp llamando a nuestra función para comprobar si existe el nick. Usamos el evento onKeyUp para que se llame a la función cada vez que se introduzca una letra. También insertamos una sección SPAN, donde se escribirá si existe el usuario o no.

<input name="nickname" onKeyUp="comprobar(this.value)" /> <span id="comprobar_mensaje"></span>

3- Ahora definimos también la función "comprobar" dentro del head:

<script type="text/javascript"><!--
 //<![CDATA[
function comprobar(nick) 
{
  var url = 'http://'+location.host+'/ajax/ajax_comprobar_nick.php';
  var pars= ('nick=' + nick);
  var myAjax = new Ajax.Updater( 'comprobar_mensaje', url, { method: 'get', parameters: pars});
}
// -->
</script>

La variable "url" es la dirección donde se encuentra el archivo php que comprobará si existe el nick en la base de datos.
En la variable "pars" escribimos las diferentes varibles que vamos a pasar al anterior php.
El primer parámetro de Ajax.Updater es la etiqueta html que se va a actualizar con el resultado de la función (diciendo si existe el usuario o no). El segundo parámetro es la variable "url" con la dirección del archivo php que ya hemos definido antes. En el tercer parámetro decimos el método por el que pasar las variables a la función (normalmente GET) y las variables que vamos pasar (que hemos definido en la variable "pars").

El archivo ajax_comprobar_nick.php que pondremos en una carpeta llamda ajax tendrá el siguiente contenido:

<?php 
// Que no se nos olvide incluir nuestro fichero con la conexion a la base de datos.
include("conexion.php");
$nick=$_REQUEST['nickname'];
$sql="SELECT nick FROM usuarios WHERE nick='$nick'";
$res=mysql_query($sql);
$total=mysql_num_rows($res);
if($total>0)
{ 
  // El usuario existe en la Base de Datos
  echo "Este nick está ocupado";
}
else
{
  // Ese nick esta libre
  echo "Nick libre";
}
?>

Ahora cada vez que se escriba una letra en el campo nick del formulario, se llamará al fichero php anterior para comprobar si existe el nick en la base de datos y se actualizará el campo SPAN "comprobar_mensaje" con el resultado.

Fuente

Share

¿Necesitas ayuda? o ¿Asesoramiento webmaster? Registrate en nuestro foro de consultas

Posts Relacionados

Total de Comentarios: 6

Avatar
08/11/2010
9:15 pm

Información Bitacoras.com...

Valora en Bitacoras.com: Este es un ejemplo sencillo de ajax que sirve para comprobar si existe en nuestra base de datos cuando se va a registrar. 1- Descargar la librería prototype.js y llamarla en el HEAD de nuestra web 2- En el formulario, en el ......

Avatar
Alan
11/12/2011
11:07 pm

Excelemente documento!! sigue asi man!!

Avatar
weslyn
29/03/2012
6:26 pm

Hola, gracias por el sistema, me ha funcionado perfectamente, ahora no se si puedes armar el comprobador de email con ajax, si esta vacio, si existe en la db y si escrito bien. Espero quel o hagas, ya que me interesa.

Saludos.

    Avatar
    30/03/2012
    6:23 pm

    @Weslyn La idea es que aprendas, toma este código como base y cámbiale la consulta, si te surge alguna duda concreta puedes preguntar y con gusto te contestare,

    Saludos

Avatar
joseph
22/07/2012
3:19 pm

Amigo y como hago para que cuando este ocupado no me deje enviar el formulario?

Avatar
Lucas Lopez
16/05/2013
5:04 pm

Gracias por el aventon en el script
lo tengo funcionando con SQLserver 2008


Enviar Comentario

(*)

(*)