Ver Mensaje Individual
  #2 (permalink)  
Antiguo 27/02/2014, 01:06
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años, 2 meses
Puntos: 977
Respuesta: Validar usuario con jquery, PHP y MySQL

Ya que deseas usar jQuery, puedes hacerlo con su método Ajax:

Código Javascript:
Ver original
  1. $("#tuFormulario").submit(function(e){
  2.     e.preventDefault();
  3.     $.ajax({
  4.         url: "verificar.php",
  5.         type: "POST",
  6.         data: {dato: $("#campoOculto").val()},
  7.         success: function(response){
  8.             if (response != 1)
  9.                 $(this).submit();
  10.             else
  11.                 alert("Los datos ingresados ya se encuentran registrados");
  12.         }
  13.     });
  14. });

Y en verificar.php:

Código PHP:
Ver original
  1. $query = mysqli_query($conexion, "SELECT * FROM tuTabla WHERE dato = $_POST['dato']");
  2. if (mysqli_num_rows($query))
  3.     echo "1";
  4. else
  5.     echo "2";

Cuando el usuario haya llenado sus datos en el formulario y pulse el botón para registrarse, evitas el envío de dichos datos con el método preventDefault, luego, con Ajax, enviamos hacia el archivo verificar.php el dato que queremos verificar si existe en la BD. En dicho archivo, luego de realizar la respectiva consulta, verificamos si se encontraron coincidencias, de existir, imprimimos el "1", caso contrario, el "2". Esta será la respuesta del servidor mediante la cual efectuaremos o el envío de los datos o la muestra del mensaje de error.

Regresando al código JS, en el método success, cuando se obtenga la respuesta del servidor, realizamos una de dos acciones dependiendo de ésta. Si la respuesta es diferente a 1, quiere decir que el usuario no se encuentra en la BD y por ende se procede a enviar los datos del formulario para su registro, caso contrario, es decir, si existe, se muestra un mensaje de alerta en donde se le indica al usuario que los datos que ingresó se encuentran registrados en la base de datos, con lo cual, evitamos que el usuario pierda los datos que ya escribió.

Eventualmente puedes usar un mensaje en un <span> en lugar de la alerta y utilizar cualquier otro valor en lugar del 1 y el 2.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand

Última edición por Alexis88; 28/02/2014 a las 14:21