Foros del Web » Programando para Internet » PHP »

Algunas Preguntas (Validaciones)

Estas en el tema de Algunas Preguntas (Validaciones) en el foro de PHP en Foros del Web. Buen día. Busco validar el ingreso de un email en mi formulario, para que este sea un email válido es decir que tenga por lo ...
  #1 (permalink)  
Antiguo 07/09/2010, 08:20
 
Fecha de Ingreso: agosto-2010
Mensajes: 11
Antigüedad: 13 años, 7 meses
Puntos: 0
Algunas Preguntas (Validaciones)

Buen día.

Busco validar el ingreso de un email en mi formulario, para que este sea un email válido es decir que tenga por lo menos el arroba. Mi pregunta es: cómo puedo hacer esto? porque pensaba hacerlo utilizando JS manejandolo con cadenas (aunque no es muy óptimo que digamos... lo siento estoy aprendiendo :P), pero quisiera hacerlo usando PHP, el problema es que soy nuevo en PHP. Alguien me podría ayudar con alternativas?

Muchas gracias
  #2 (permalink)  
Antiguo 07/09/2010, 08:40
 
Fecha de Ingreso: julio-2008
Mensajes: 208
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: Algunas Preguntas (Validaciones)

La forma que tienes de validar un mail con php es ver que la cadena del mail tenga una sintaxis correcta (tu defines que es sintaxis correcta) Es decir que tenga un arroba, por lo menos 2 letras despues del arroba un punto...etc....
La forma mas facil de hacer esto es con expresiones regulares que te permiten definir que tipos de cadenas de caracteres aceptas...

function ValidaMail($pMail) {
if (ereg("^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@+([_a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]{2,200}\.[a-zA-Z]{2,6}$", $pMail ) ) {
return true;
} else {
return false;
}
}

Usa esta funcion que valida mail's validos...prueba con distintos mails...lo importante aqui es la expresion regular: ^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@([_a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]{2,200}\.[a-zA-Z]{2,6}$
[_a-zA-Z0-9-]+ -> Tiene que haber uno o mas de los caracteres que estan entre[]
(\.[_a-zA-Z0-9-]+)* -> 0 o mas veces lo anterior mas el caracter punto
@ -> Un arroba si o si
....
En fin...eso valida tu correo..te recomiendo leas expresiones regulares que te seran muy utilies en los temas de validacion cualquiera sea.
Saludos.
  #3 (permalink)  
Antiguo 07/09/2010, 08:43
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: Algunas Preguntas (Validaciones)

creo que ereg ya va a ser eliminado para futuras versiones del php, creo que es mejor el preg_match

Código PHP:

$sx_email 
preg_match(
'/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/',
$email); 
__________________
Quitenme la vida pero no la bebida.
  #4 (permalink)  
Antiguo 07/09/2010, 09:31
 
Fecha de Ingreso: agosto-2010
Mensajes: 11
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Algunas Preguntas (Validaciones)

ok, ya implementé lo sugerido en mi código php, pero no esta reaccionando a este, en que puedo estar mal?.
Este es el código:

Código PHP:
$email=isset($_GET['email']);
$valida_email preg_match('/^[^0-9][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[@][a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)*[.][a-zA-Z]{2,4}$/',$email);

if(
$valida_email)
{
  
$sql="insert into inscripcion(nombre, email, empresa, tipoEmpresa, cargo, telefono, ciudadPais, aplicacion, wealthMng, assetMng, fondos, familyOffices, bancaPrivada, casaBolsa) values ('".$nombre."','".$email."','".$empresa."','".$tipoEmpresa."','".$cargo."','".$telefono."','".$ciudadPais."','".$aplicacion."','".$wealthMng."','".$assetMng."','".$fondos."','".$familyOffices."','".$bancaPrivada."','".$casaBolsa."')";
  
$res=mysql_query($sql,$bd) or die(mysql_error());
  echo 
"VALORES INGRESADOS CON ÉXITO";
}
else
{
  echo 
"Por favor ingrese una dirección de email válido";
}


Etiquetas: validar
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 06:58.