mmm, yo te recomendaría usar expresiones regulares para realizar cualquier tipo de validación, ya sea para validar e-mail, nombres de usuarios, contraseñas, fechas, etc...
por ejemplo, para validar un correo electrónico, podrías hacer algo así:
Código:
function validar_mail($mail)
{
$patron = "/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/";
if ( ! preg_match($patron , $mail) )
$errores['mail'] = "Ha introducido un email erroneo";
else
{
$conexion = mysqli_connect("localhost" , "usuario_mysql" , "pass" , "base_de_datos");
$consulta = "SELECT * FROM tb_usuarios WHERE email = '" . $mail . "'";
mysqli_query($conexion , $consulta);
if ( mysqli_affected_rows($conexion) != 0 )
$errores['mail'] = "El email esta ocupado por otro usuario";
}
return $errores;
}