Foros del Web » Programando para Internet » PHP »

Validar usuario con jquery, PHP y MySQL

Estas en el tema de Validar usuario con jquery, PHP y MySQL en el foro de PHP en Foros del Web. Hola amigos tengo un formulario con muchos campos, como por ejemplo cedula nombre, apelllidos, correo, telefono.. etc. y necesito validar que cuando el usuario de ...
  #1 (permalink)  
Antiguo 26/02/2014, 22:54
 
Fecha de Ingreso: septiembre-2013
Ubicación: Bogota
Mensajes: 139
Antigüedad: 10 años, 7 meses
Puntos: 0
Validar usuario con jquery, PHP y MySQL

Hola amigos tengo un formulario con muchos campos, como por ejemplo cedula nombre, apelllidos, correo, telefono.. etc. y necesito validar que cuando el usuario de clic en el boton enviar valide si ese usuario existe o no en la base de datos. Si existe entonces que muestre una notificacion de que existe y no deje registrar y que no recargue la pagina ya que si lo hace,todos los datos introducidos se perderan y esto es muy molesto para el usuario volverlos a digitar.
He buscado sistemas de logeo con jquery, ajax con php y mysql pero no he encontrado con este tipo de validacion. Si alquien sabe de alguno me puede colaborar por favor.

Yo estoyvalidando esto pero con PHP puro pero si el usuario existe se ejecuta el escript, no envia el registro y me recarga la pagina borrando todos los campos diligenciados.
Este es mi codigo:

Código PHP:
Ver original
  1. <?php
  2.   include ('../../../sistema/conex.php');
  3.   if ($_POST["enviar"]){
  4.     $checkuser = mysql_query("SELECT numdoc FROM beneficiario WHERE numdoc='$_POST[numdoc]'");
  5.                 $numdoc_exist = mysql_num_rows($checkuser);
  6.                 if ($numdoc_exist>0) {
  7. echo '<script language= "Javascript"> alert("Miembro de nucleo familiar ya existe. Por favor verifique la informacion en el formulario");</script>';
  8.                 }else{ 
  9.    $sql="insert into beneficiario (cod_admin,cod_cabeza_fam,fecha,hora,nombres,apellidos,edad,cod_genero_cab,cod_doc,numdoc,cod_dep,cod_muni,direccion,cod_zona_viv,cod_barrio_veredas_viv,sipod,ruv,cod_civil,cod_raza,fecha_nac,dpto_nac,muni_nac,telefono,cod_ing_mens,cod_otra_fuente_ing,estudia_act,cod_program_est,cod_ins,cod_anio_aprob,adulto_may,cod_prog_adulto,capacitaciones,cod_capacitacion,cod_ent_cap,cod_recibir_cap,trabaja_act,cod_trabajo,cod_oficios,subsidio_act,cod_subsidio_act,subsidio_pas,cod_subsidio_pas,cod_voc_prod,cod_parentesco,discapacidad,cod_tip_disc,posee_seg_soc,cod_seg_social,cod_eps,cod_calif_serv,mujer_homb,embarazada,prenatal,lactando,crecimiento_desarrollo)values
  10.    ('".$_POST["cod_admin"]."','".$_POST["cod_cabeza_fam"]."',NOW(),NOW(),'".$_POST["nombres"]."','".$_POST["apellidos"]."','".$_POST["edad"]."','".$_POST["cod_genero_cab"]."','".$_POST["cod_doc"]."','".$_POST["numdoc"]."','".$_POST["cod_dep"]."','".$_POST["cod_muni"]."','".$_POST["direccion"]."','".$_POST["cod_zona_viv"]."','".$_POST["cod_barrio_veredas_viv"]."','".$_POST["sipod"]."','".$_POST["ruv"]."','".$_POST["cod_civil"]."','".$_POST["cod_raza"]."','".$_POST["fecha_nac"]."','".$_POST["dpto_nac"]."','".$_POST["muni_nac"]."','".$_POST["telefono"]."','".$_POST["cod_ing_mens"]."','".$_POST["cod_otra_fuente_ing"]."','".$_POST["estudia_act"]."','".$_POST["cod_program_est"]."','".$_POST["cod_ins"]."','".$_POST["cod_anio_aprob"]."','".$_POST["adulto_may"]."','".$_POST["cod_prog_adulto"]."','".$_POST["capacitaciones"]."','".$_POST["cod_capacitacion"]."','".$_POST["cod_ent_cap"]."','".$_POST["cod_recibir_cap"]."','".$_POST["trabaja_act"]."','".$_POST["cod_trabajo"]."','".$_POST["cod_oficios"]."','".$_POST["subsidio_act"]."','".$_POST["cod_subsidio_act"]."','".$_POST["subsidio_pas"]."','".$_POST["cod_subsidio_pas"]."','".$_POST["cod_voc_prod"]."','".$_POST["cod_parentesco"]."','".$_POST["discapacidad"]."','".$_POST["cod_tip_disc"]."','".$_POST["posee_seg_soc"]."','".$_POST["cod_seg_social"]."','".$_POST["cod_eps"]."','".$_POST["cod_calif_serv"]."','".$_POST["mujer_homb"]."','".$_POST["embarazada"]."','".$_POST["prenatal"]."','".$_POST["lactando"]."','".$_POST["crecimiento_desarrollo"]."')";    
  11.     if ($result=mysql_query ($sql,$link)){echo '<script language= "Javascript"> alert("Registro guardado correctamente");</script>';}
  12.     else{echo 'error:'.mysql_error($link);}
  13.     }
  14.   }
  15. ?>
[/HIGHLIGHT]
  #2 (permalink)  
Antiguo 27/02/2014, 01:06
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 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

Etiquetas: formulario, jquery, mysql, registro, select, sql, usuario
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 21:47.