Foros del Web » Programando para Internet » PHP »

Validar registro de usuarios

Estas en el tema de Validar registro de usuarios en el foro de PHP en Foros del Web. Hola, hola... soy nueva en el foro... y también algo muuuy principiante en diseño web. Soy estudiante de ing. en sistemas proxima a egresar y ...
  #1 (permalink)  
Antiguo 05/11/2015, 11:31
 
Fecha de Ingreso: octubre-2015
Mensajes: 31
Antigüedad: 8 años, 6 meses
Puntos: 0
Pregunta Validar registro de usuarios

Hola, hola... soy nueva en el foro... y también algo muuuy principiante en diseño web.
Soy estudiante de ing. en sistemas proxima a egresar y la verdad es que solo aprendí fundamentos en la universidad (solo una materia de programación web), al principio de semestre tenia un mmmuy buen maestro, pero resulta que se cambio de escuela justo cuando íbamos a comenzar a trabajar con php, javascript y jquery.
Así que yo reconozco que tengo bastante deficiencia en esa parte, ahora, en este momento, me encuentro realizando mis practicas profesionales y resulta que mi proyecto es diseñar una pagina web la cual debe contener un registro y login para usuarios...

Antes de que me hagan bulling, ya revise varios foros y varios temas en este mismo foro, y no he podido arreglar mi problema. También he leído que muchos dicen que el foro no es para hacernos el código, etc, etc... así que no les pido que me lo haga, pero si que me expliquen para aprender a hacerlo yo solita.

AHORA VA EL PROBLEMA...
Ya tengo mi formulario, donde al hacer click llama a una funcion de validación con javascript, pero para procesarse con la base de datos (verificando si el usuario no existe o si el correo no existe)quiero que se haga en el mismo script del formulario....y mediante un echo o algo similar me arroge el mensaje apropiado.

Durante mi investigación encuentro que para esto debo usar AJAX (pero no se AJAX y la verdad no tengo mucho tiempo para aprenderlo en este momento porque mi proyecto de residencias tiene que estar terminado pronto), entonces quisiera hacerlo usando lo que se hasta este momento.
PD: Estoy usando bootstrap.

Les dejo mi codigo:::
  #2 (permalink)  
Antiguo 05/11/2015, 11:36
 
Fecha de Ingreso: octubre-2015
Mensajes: 31
Antigüedad: 8 años, 6 meses
Puntos: 0
Respuesta: Validar registro de usuarios

registrocte.php
Código PHP:
Ver original
  1. <?php
  2.  
  3.       require ('../libs/adodb5/adodb-pager.inc.php');
  4.       require ('../libs/adodb5/adodb.inc.php');
  5.       require ('../modelo/Conexion.php');
  6.       include ('layouts/headerr.php');
  7. ?>
  8. <html>
  9.   <head>
  10.     <meta charset="utf-8">
  11.     <meta http-equiv="X-UA-Compatible" content="IE=edge">
  12.     <meta name="viewport" content="width=device-width, initial-scale=1">
  13.     <!-- Bootstrap -->
  14.     <link href="css/bootstrap.min.css" rel="stylesheet">
  15.     <!-- CSS -->
  16.     <link rel="stylesheet" type="text/css" href="css/estilo.css">      
  17.     <!--JQuery-->
  18.     <script src="js/jquery.min.js"></script>
  19.     <title>Registro Cliente</title>  
  20.  
  21.     <script language="javascript" type="text/javascript">
  22.         function validacion(){
  23.           if(document.getElementById("C_usuario").value.length <5){
  24.             document.getElementById('cont').style.display='none';
  25.             document.getElementById('cont2').style.display='none';
  26.  
  27.             document.getElementById('usuario').style.display='inline';
  28.             return false;
  29.           }else
  30.                 if(document.getElementById("C_password").value.length <6){
  31.                   document.getElementById('usuario').style.display='none';
  32.                   document.getElementById('cont2').style.display='none';
  33.  
  34.                   document.getElementById('cont').style.display='inline';
  35.                   return false;
  36.                 }else
  37.                       if (document.getElementById("C_password").value != document.getElementById("password2").value) {
  38.                         document.getElementById('usuario').style.display='none';
  39.                         document.getElementById('cont').style.display='none';
  40.                           document.getElementById('cont2').style.display='inline';
  41.                           return false;
  42.                           }
  43.                           return true;
  44.              
  45.           document.frmCliente.submit();  
  46.  
  47.         }
  48.     </script>
  49.   </head>
  50.  
  51.   <body>
  52.     <div class="col-md-10 col-md-offset-1 contenido">
  53.       <!--REGISTRO-->
  54.       <div class="col-md-6  col-md-offset-3 box">
  55.         <div class="col-md-12 text-center a1 "><i><h3><b>Registrate</b></h3></i><br></div>
  56.         <!--AREA DE REGISTRO-->
  57.         <div class="col-md-12">
  58.           <form name="frmCliente" method="post" enctype="multipart/form-data" class="form-horizontal" action="login/registrar.php" onsubmit="return validacion()">
  59.             <fieldset>
  60.               <div class="form-group">
  61.                 <label for="C_nombre" class="col-sm-4 control-label" maxlength="20">Nombre</label>
  62.                 <div class="col-sm-8">
  63.                   <input class="form-control" type="text" name="C_nombre"  id="C_nombre" placeholder="Nombre" required>
  64.                 </div>
  65.               </div>
  66.  
  67.               <div class="form-group">
  68.                 <label for="C_apepa" class="col-sm-4 control-label" maxlength="20">Apellido paterno</label>
  69.                 <div class="col-sm-8">
  70.                   <input class="form-control" type="text" name="C_apepat" id="C_apepat" placeholder="Apellido paterno" required>
  71.                 </div>                
  72.               </div>
  73.  
  74.               <div class="form-group">
  75.                 <label for="C_apema" class="col-sm-4 control-label" maxlength="20">Apellido materno</label>        
  76.                 <div class="col-sm-8">
  77.                   <input class="form-control" type="text" name="C_apemat" id="C_apemat" placeholder="Apellido materno" required>
  78.                 </div>
  79.               </div>
  80.                
  81.               <div class="form-group">
  82.                 <label for="C_nomEmp" class="col-sm-4 control-label" maxlength="30">Nombre Empresa</label>        
  83.                 <div class="col-sm-8">
  84.                   <input class="form-control" type="text" name="C_nomEmp" id="C_nomEmp" placeholder="Nombre Empresa" required>
  85.                 </div>
  86.               </div>
  87.                
  88.               <div class="form-group">
  89.                 <label for="C_dirEmp" class="col-sm-4 control-label" maxlength="30">Dirección Empresa</label>        
  90.                 <div class="col-sm-8">
  91.                   <input class="form-control" type="text" name="C_dirEmp" id="C_dirEmp" placeholder="Dirección" required>
  92.                 </div>
  93.               </div>
  94.                
  95.               <div class="form-group">  
  96.                 <label for="C_email" class="col-sm-4 control-label" maxlength="30">Email</label>      
  97.                 <div class="col-sm-8">
  98.                   <input class="form-control" type="email" name="C_email" id="C_email" placeholder="[email protected]" required="">
  99.                 </div>
  100.               </div>
  101.                
  102.               <div class="form-group">
  103.                 <label for="C_usuario" class="col-sm-4 control-label" maxlength="20">Usuario</label>
  104.                 <div class="col-sm-8">
  105.                   <input class="form-control" type="usuario" name="C_usuario"  id="C_usuario" placeholder="Usuario"  required="" >
  106.                   <div class="col-sm-12 text-center" id="usuario" style="display:none; color:red; font-size: 12px;">
  107.                     El nombre de usuario al menos debe contener al menos 5 letras
  108.                   </div>
  109.                 </div>
  110.               </div>
  111.                
  112.               <div class="form-group">
  113.                 <label for="C_password" class="col-sm-4 control-label" maxlength="20">Contraseña</label>
  114.                 <div class="col-sm-8">
  115.                   <input class="form-control" type="password" name="C_password"  id="C_password" placeholder="Contraseña"  required="" >
  116.                   <div class="col-sm-12 text-center" id="cont" style="display:none; color:red; font-size: 12px;">
  117.                     La contraseña debe contener al menos 6 caracteres
  118.                   </div>
  119.                 </div>
  120.               </div>
  121.  
  122.               <div class="form-group">
  123.                 <label for="password2" class="col-sm-4 control-label" maxlength="20">Confirma contraseña</label>
  124.                 <div class="col-sm-8">
  125.                   <input class="form-control" type="password" name="password2"  id="password2" placeholder="Confirma Contraseña"  required="" >
  126.                   <div class="col-sm-12 text-center" id="cont2" style="display:none; color:red; font-size: 12px;">
  127.                     Las contraseñas son diferentes
  128.                   </div>
  129.  
  130.                   <div class="col-sm-12 text-center" id="uss" style="display:none; color:red; font-size: 12px;">
  131.                     Este usuario no esta disponible
  132.                   </div>
  133.  
  134.                   <div class="col-sm-12 text-center" id="corr" style="display:none; color:red; font-size: 12px;">
  135.                     Este correo ya fue registrado, registrate con otro correo
  136.                   </div>
  137.  
  138.                 </div>
  139.               </div>
  140.  
  141.               <span class="pull-right"><a href="logincte.php">Regresar</a></span>
  142.  
  143.               <div class="form-group">
  144.                 <div class="control-group text-center">
  145.                   <label class="control-label" for="acceder"></label>
  146.                   <div class="controls ">
  147.                     <button type="submit" id="acceder" name="acceder">Registrar</button>
  148.                   </div>
  149.                 </div>
  150.               </div>
  151.             </fieldset>
  152.           </form>
  153.         </div>
  154.       </div>
  155.     </div>  
  156.  
  157.     <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
  158.     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  159.     <!-- Include all compiled plugins (below), or include individual files as needed -->
  160.     <script src="js/bootstrap.min.js"></script>
  161.   </body>
  162. </html>
  163.  
  164. <div class="fo"><?php include ('layouts/footer.php'); ?></div>
  #3 (permalink)  
Antiguo 05/11/2015, 11:37
 
Fecha de Ingreso: octubre-2015
Mensajes: 31
Antigüedad: 8 años, 6 meses
Puntos: 0
Respuesta: Validar registro de usuarios

procesarregistro.php
Código PHP:
Ver original
  1. <?php
  2.  
  3.     $C_nombre= htmlspecialchars($_POST['C_nombre']);
  4.     $C_apepat= htmlspecialchars($_POST['C_apepat']);
  5.     $C_apemat= htmlspecialchars($_POST['C_apemat']);
  6.     $C_nomEmp= htmlspecialchars($_POST['C_nomEmp']);
  7.     $C_dirEmp= htmlspecialchars($_POST['C_dirEmp']);
  8.     $C_email= $_POST['C_email'];
  9.     $C_usuario= htmlspecialchars($_POST['C_usuario']);
  10.     $C_password= $_POST['C_password'];
  11.     $password2= $_POST['password2'];
  12.  
  13.     $consulta="select * from clientes where C_usuario='$C_usuario';";
  14.     $consulta2="select * from clientes where C_email='$C_email';";
  15.     $resultado=mysql_query($consulta);
  16.     $resultado2=mysql_query($consulta2);
  17.  
  18.     if (mysql_num_rows($resultado) == 1){
  19.             echo'este usuario ya existe';
  20.       }elseif (mysql_num_rows($resultado2) == 1) {
  21.                 echo'este correo ya existe, elige otro';
  22.  
  23.         }else{
  24.                   $re=mysql_query("
  25.                  INSERT INTO clientes(C_nombre,C_apepat,C_apemat,C_nomEmp,C_dirEmp,C_email,C_usuario,C_password)
  26.                  VALUES ('$C_nombre','$C_apepat','$C_apemat','$C_nomEmp','$C_dirEmp','$C_email','$C_usuario','$C_password')
  27.                  ");
  28.                  
  29.                   echo'registro exitoso';
  30.                 }      
  31. ?>
  #4 (permalink)  
Antiguo 05/11/2015, 11:38
 
Fecha de Ingreso: octubre-2015
Mensajes: 31
Antigüedad: 8 años, 6 meses
Puntos: 0
Respuesta: Validar registro de usuarios

Acepto todo tipo de comentarios para mejorar mi código.....

y en serio agradezco muchisisimo la ayuda que me puedan proporcionar :)
  #5 (permalink)  
Antiguo 09/11/2015, 09:51
 
Fecha de Ingreso: octubre-2015
Mensajes: 31
Antigüedad: 8 años, 6 meses
Puntos: 0
Respuesta: Validar registro de usuarios

POr favooor... help me!
  #6 (permalink)  
Antiguo 09/11/2015, 16:05
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: Validar registro de usuarios

Si quieres que se haga dentro de la misma página, si o si tienes que usar AJAX, pero no es tan complicado, lo que tienes que hacer es:

1. Diseñar una página simple con sólo código php no hay necesidad de HTML ni nada por el estilo, donde hagas la consulta respectiva a la BD y haga las verificaciones de si existe o no. Yo lo que hago es que si encuentra que un correo ya existe imprima con echo un 1 y si no encuentra concidencia imprima un 0.
2. Luego debes llamar a través de AJAX a esa página y leer el resultado que imprima la página php. Mira esta página, esa es la forma que yo uso y me parece más fácil.
3. Luego tienes que programar la forma como va a ejecutarse esa función de AJAX, yo lo hago con el evento onblur del textbox donde se escribe el correo o el usuario. Revisa esto en donde te explican como usar el evento onblur.

En resumen sería: el usuario escribe el usuario, pasa al siguiente campo, al cambiar de campo se activa el evento onblur que llama a la función que usa el AJAX, la cual a su vez usa el archivo php para hacer la consulta, toma el valor devuelto por la página php y de acuerdo al resultado hace una u otra acción.

No es tan complicado. Si no fuera tan largo tu código te diría dónde ir colocando las cosas, pero si lees lo que te puse vas a ver que es bastante fácil. Si te atoras en algún punto escribes y miramos que hacemos.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #7 (permalink)  
Antiguo 10/11/2015, 00:33
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Validar registro de usuarios

Saludo
Pues con lo que ya se tiene, ya debe funcionar las validaciones, siempre y cuando el submit vaya a procesarregistro.php y no a login/registrar.php

Simplemente sería agregar href en caso de datos ya existentes.

Y por supuesto, la solución que propone chronos682 es tanto mejor,
y con los links que proporcionó, seguro lo implementas rápido.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Etiquetas: formulario, registro, usuarios
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 20:09.