Foros del Web » Programando para Internet » PHP »

problemas para validar con preg_match y filter_var

Estas en el tema de problemas para validar con preg_match y filter_var en el foro de PHP en Foros del Web. tengo un problema al tratar de validar input por parte del servidor con preg_match y filter_var no me hace la validación esperada. Anexo el código ...
  #1 (permalink)  
Antiguo 01/06/2017, 06:42
Avatar de aviweb2015  
Fecha de Ingreso: abril-2016
Ubicación: venezuela
Mensajes: 215
Antigüedad: 8 años, 7 meses
Puntos: 1
Busqueda problemas para validar con preg_match y filter_var

tengo un problema al tratar de validar input por parte del servidor con preg_match y filter_var no me hace la validación esperada. Anexo el código a ver en que estoy fallando.

Código PHP:
Ver original
  1. <?php
  2. include_once "conexion/conexion.php";
  3.  
  4. if(isset($_POST['guardar'])){
  5.  
  6.  
  7. $nombresyapellidos = $_POST['nombresyapellidos'];
  8. $email = $_POST['email'];
  9. $user = $_POST['user'];
  10. $pass = $_POST['pass'];
  11. $pass2 = $_POST['pass2'];
  12.  
  13.  
  14.  if(strlen(trim($nombresyapellidos)) < 1 || strlen(trim($email)) < 1 || strlen(trim($user)) < 1 || strlen(trim($pass)) < 1 || strlen(trim($pass2)) < 1)
  15.  {
  16.    $errMSG = "¡ Ups Aviso: No pueden haber campos vacios. !";
  17.  }
  18.  
  19. else if($_POST['pass']!=$_POST['pass2'])
  20. {
  21.   $errMSG = "¡ Ups Aviso: Las contraseñas deben coincidir. !";
  22. }
  23.  
  24. else if(strlen($pass) < 8)
  25. {
  26.   $errMSG = "¡ Ups Aviso: La contraseña debe tener al menos 6 caracteres. !";
  27. }
  28.  
  29. else if(strlen($pass) > 16)
  30. {
  31.   $errMSG = "¡ Ups Aviso: La contraseña no puede tener más de 16 caracteres. !";
  32. }
  33.  
  34. else if (preg_match ("/^[a-z]+$/", $_POST['pass']))
  35. {
  36.   $errMSG = "¡ Ups Aviso: La contraseña1 debe tener al menos una letra minúscula. !";
  37. }
  38.  
  39. else if(preg_match("/^[A-Z]+$/", $_POST['pass']))
  40. {
  41.   $errMSG = "¡ Ups Aviso: La contraseña2 debe tener al menos una letra mayúscula. !";
  42. }
  43.  
  44. else if(preg_match("/^[0-9]+$/", $_POST['pass']))
  45. {
  46.   $errMSG = "¡ Ups Aviso: La contraseña3 debe tener al menos un caracter numérico. !";
  47. }
  48.  
  49. else if(preg_match("/^[\W]+$/", $_POST['pass']))
  50. {
  51.   $errMSG = "¡ Ups Aviso: La contraseña4 debe tener al menos un caracter especial. !";  
  52. }
  53.  
  54. else if (filter_var(($_POST['email']), FILTER_VALIDATE_EMAIL))
  55. {
  56.   $errMSG = "¡ Ups Aviso: Dirección de correo inválida. !";
  57. }
  58.  
  59. else if(preg_match("/^[a-zA-Z ]+$/", $_POST['nombresyapellidos']))
  60. {
  61.   $errMSG = "Este campo solo acepta letras.";
  62. }
  63.  
  64. else{
  65.     //si no hay errores continuo


si coloco así para validar el email se me cae la web se queda en blanco

Código PHP:
Ver original
  1. if(!filter_var($email, FILTER_VALIDATE_EMAIL)) {
  2.     echo "E-mail is not valid";
  3. } else {
  4.     echo "E-mail is valid";
  5. }
__________________
yoclens avilan

Etiquetas: Ninguno
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 14:07.