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<?php
include_once "conexion/conexion.php";
if(isset($_POST['guardar'])){
$nombresyapellidos = $_POST['nombresyapellidos'];
$email = $_POST['email'];
$user = $_POST['user'];
$pass = $_POST['pass'];
$pass2 = $_POST['pass2'];
{
$errMSG = "¡ Ups Aviso: No pueden haber campos vacios. !";
}
else if($_POST['pass']!=$_POST['pass2'])
{
$errMSG = "¡ Ups Aviso: Las contraseñas deben coincidir. !";
}
{
$errMSG = "¡ Ups Aviso: La contraseña debe tener al menos 6 caracteres. !";
}
{
$errMSG = "¡ Ups Aviso: La contraseña no puede tener más de 16 caracteres. !";
}
else if (preg_match ("/^[a-z]+$/", $_POST['pass'])) {
$errMSG = "¡ Ups Aviso: La contraseña1 debe tener al menos una letra minúscula. !";
}
{
$errMSG = "¡ Ups Aviso: La contraseña2 debe tener al menos una letra mayúscula. !";
}
{
$errMSG = "¡ Ups Aviso: La contraseña3 debe tener al menos un caracter numérico. !";
}
{
$errMSG = "¡ Ups Aviso: La contraseña4 debe tener al menos un caracter especial. !";
}
else if (filter_var(($_POST['email']), FILTER_VALIDATE_EMAIL
)) {
$errMSG = "¡ Ups Aviso: Dirección de correo inválida. !";
}
else if(preg_match("/^[a-zA-Z ]+$/", $_POST['nombresyapellidos'])) {
$errMSG = "Este campo solo acepta letras.";
}
else{
//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 echo "E-mail is not valid";
} else {
echo "E-mail is valid";
}