Foros del Web » Programando para Internet » PHP »

APORTE validación de campos de formulario

Estas en el tema de APORTE validación de campos de formulario en el foro de PHP en Foros del Web. bueno estoy practicando y cree este sistema para validar los campos lo creen con un array suerte para los que lo quieran usar en facil ...
  #1 (permalink)  
Antiguo 13/03/2016, 20:56
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 4 meses
Puntos: 4
APORTE validación de campos de formulario

bueno estoy practicando y cree este sistema para validar los campos lo creen con un array suerte para los que lo quieran usar en facil

achivo formulario

Código HTML:
Ver original
  1. <form action="registro.php" method="POST">
  2. Nick: <input type="name" name="nick" /><br>
  3. Password: <input type="name" name="pass" /><br>
  4. Repeat Password: <input type="name" name="rpass" /><br>
  5. Email: <input type="name" name="email" /><br>
  6. <input type="submit" name="submit" value="Registrarse" />
  7. </form>

archivo PHP
Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4.  
  5.     if(isset($_POST['nick']) && isset($_POST['pass']) && isset($_POST['rpass']) && isset($_POST['email']))  //busaca si las variables Post estan
  6. {
  7.     $nick  = $_POST['nick']; //atrapa las variables POST
  8.     $pass  = $_POST['pass'];
  9.     $rpass  = $_POST['rpass'];
  10.     $email  = $_POST['email'];
  11.  
  12.  
  13.  $array = array($nick,$pass, $rpass, $email); //validacion de campos
  14.  
  15.     if ($array[0]== '')  //si estan vacias
  16.     {
  17.     echo "nick vacio<br>"; 
  18.     }
  19.    if ($array[1]== '')
  20.     {
  21.      echo "pass vacio <br>";   
  22.     }
  23.     if($array[2] == '')
  24.     {
  25.      echo "rpass vacio <br>";  
  26.     }
  27.     if($array[3] == '')
  28.     {
  29.      echo "email vacio <br>";  
  30.     }
  31.    
  32. }
  33. ?>
  #2 (permalink)  
Antiguo 13/03/2016, 21:12
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 1.135
Antigüedad: 13 años, 1 mes
Puntos: 170
Respuesta: APORTE validación de campos de formulario

Si se nota que estas practicando...

Código HTML:
Ver original
  1. <input type="name" name="email" />

type="name"???... todos los inputs los tienes asi, los de contraseña tienen que ser password para mayor seguridad
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)
  #3 (permalink)  
Antiguo 13/03/2016, 21:36
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 4 meses
Puntos: 4
Respuesta: APORTE validación de campos de formulario

perdón este seria el código del formulario

Código HTML:
Ver original
  1. <form action="funciones/registro.php" method="POST">
  2. Nick: <input type="text" name="nick" /><br>
  3. Password: <input type="password" name="pass" /><br>
  4. Repeat Password: <input type="password" name="rpass" /><br>
  5. Email: <input type="text" name="email" /><br>
  6. <input type="submit" name="submit" value="Registrarse" />
  7. </form>

pero me da un error cuando lo aplico al codigo entero
tengo esto
Código PHP:
Ver original
  1. <?php
  2. if(isset($_POST['nick']) && isset($_POST['pass']) && isset($_POST['rpass']) && isset($_POST['email']))  //busaca si las variables Post estan
  3. {
  4.     $nick  = $_POST['nick']; //atrapa las variables POST
  5.     $pass  = $_POST['pass'];
  6.     $rpass  = $_POST['rpass'];
  7.     $email  = $_POST['email'];
  8.  
  9.  
  10. $array = array($nick,$pass,$rpass, $email); //validacion de campos
  11.  
  12.     if ($array[0] == '')  //si estan vacias
  13.     {
  14.     echo "nick vacio<br>"; 
  15.     }
  16.     if ($array[1] == '')
  17.     {
  18.      echo "pass vacio <br>";   
  19.     }
  20.     if ($array[2] == '')
  21.     {
  22.      echo "rpass vacio <br>";  
  23.     }
  24.     if ($array[3] == '')
  25.     {
  26.      echo "email vacio <br>";  
  27.     }
  28.     else  // si no estan vacias corre el script
  29.     {  
  30.         if ($pass === $rpass ) //verifica si pass es igual a pass
  31.         {                                      
  32.             require("../conexion/conexion.php");                                    //busca el file php para conectarse a la base de datos
  33.             //(DESASTIVADO)$pass = md5 ($pass);                         // encrista la clave
  34.             mysql_query("INSERT INTO usuarios VALUES ('',' $nick',' $pass',' $email' )"); //           //HAce la consulta a la base de datos para introducir los codigos
  35.             mysql_close($link);                                         //cerramos las conecion la conecios se encuentra en el archivo connect_db.php que es invocado por required linea 9
  36.             header("location: confirmacion.php");
  37.  
  38.         }
  39.         else {
  40.             echo 'Los pass no son iguales';
  41.     }
  42. }
  43.  
  44. }
  45.  
  46. ?>

si en el formulario entre datos en el primer campo y en el ultimo como quiere registra el usuario no se que pasa
no respeta eso dos no se por que ayuda para mejorar el aporte si lo logro bien entonces borro este y lo publico ya sin problemas
  #4 (permalink)  
Antiguo 13/03/2016, 21:41
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 1.135
Antigüedad: 13 años, 1 mes
Puntos: 170
Respuesta: APORTE validación de campos de formulario

necesitas una verdadera validación, HTML5 ofrece unas basicas que sirven bien:
Código HTML:
Ver original
  1. <form action="funciones/registro.php" method="POST">
  2.     Nick: <input type="text" name="nick" required /><br>
  3.     Password: <input type="password" name="pass" required  /><br>
  4.     Repeat Password: <input type="password" name="rpass" required  /><br>
  5.     Email: <input type="email" name="email" required  /><br>
  6.     <input type="submit" name="submit" value="Registrarse" />
  7.     </form>

En un ejemplo "basico" creo que eso bastaria, ya si quieres validar mucho mas estricto los campos es un poco mas largo
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)
  #5 (permalink)  
Antiguo 13/03/2016, 21:49
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 4 meses
Puntos: 4
Respuesta: APORTE validación de campos de formulario

eso es como Placeholder no s ele puede dar atributo a eso como cambiar el estilo de letras ect pero yo que em estaba entreteniendo creando mi código para hacer algo solo php y msql ya que lo eh visto con javascript lo de las validaciones y no se de ese lenguaje y como que el php esta limitado en ese acpecto. :(
  #6 (permalink)  
Antiguo 13/03/2016, 21:54
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 1.135
Antigüedad: 13 años, 1 mes
Puntos: 170
Respuesta: APORTE validación de campos de formulario

Si te fijaste que añadí "required" a los inputs no?... esto hara que no se envie el formulario si estan vacios...

te dejo este enlace para que revises otros tipos de input que se han venido con HTML5 que te serviran http://www.w3schools.com/html/html_form_input_types.asp
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)
  #7 (permalink)  
Antiguo 14/03/2016, 06:21
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: APORTE validación de campos de formulario

Te dejo aquí un comentario que te puse en tu post anterior para que tengas en cuenta..

Al reiniciar la web me registra un usuario. Porque?
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #8 (permalink)  
Antiguo 15/03/2016, 20:41
 
Fecha de Ingreso: diciembre-2015
Mensajes: 369
Antigüedad: 8 años, 4 meses
Puntos: 4
Respuesta: APORTE validación de campos de formulario

EUREKA LO RESOLVI IS PERFECT estee es el codio :) :) le agregue lso null para los espacion del teclado que no se ven bueno este es el codigo

file index.php

Código HTML:
Ver original
  1. <form action="validar" method="POST">
  2.     Nick: <input type="text" name="nick"  /><br> <!--required para validar los campos no pasa si no esta lleno-->
  3.     Password: <input type="password" name="pass"  /><br>
  4.     Repeat Password: <input type="password" name="rpass"   /><br>
  5.     Email: <input type="email" name="email"/><br>
  6.     <input type="submit" name="submit" value="Registrarse" />
  7.     </form>

File validar.php

Código PHP:
Ver original
  1. <?php
  2. if(isset($_POST['nick']) && isset($_POST['pass']) && isset($_POST['rpass']) && isset($_POST['email']))  //busaca si las variables Post estan
  3. {
  4.     $nick  = $_POST['nick']; //atrapa las variables POST
  5.     $pass  = $_POST['pass'];
  6.     $rpass  = $_POST['rpass'];
  7.     $email  = $_POST['email'];
  8.  
  9. if (empty($_POST['nick']) or empty($_POST['pass']) or empty($_POST['rpass']) or empty($_POST['email']))
  10. {
  11.     $array = array($nick,$pass,$rpass, $email); //validacion de campos
  12.  
  13.     if ($array[0] == NULL)  //si estan vacias
  14.     {
  15.     echo "nick vacio<br>"; 
  16.     }
  17.     if ($array[1] == NULL)
  18.     {
  19.      echo "pass vacio <br>";   
  20.     }
  21.     if ($array[2] == NULL)
  22.     {
  23.      echo "rpass vacio <br>";  
  24.     }
  25.     if ($array[3] == NULL)
  26.     {
  27.      echo "email vacio <br>";  
  28.     }
  29.     }else  // si no estan vacias corre el script
  30.     {  
  31.     echo "todos los campos estan llenos" ; 
  32. }
  33.  
  34. }
  35.  
  36. ?>

el problema era que el anterior codigo no tenia las validaciones en conjunto y solo tomaba en cuenta el ultimo if para ejecutar el ELSE osea que si todos los campo vacios y tenemos el de email que era el que le dama proximida al else entonces pasaba pero ya todo bien compartan lo

Etiquetas: campos, formulario, registro, variable
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 00:02.