Foros del Web » Programando para Internet » PHP »

¿Que opinan de esta validacion de mail?

Estas en el tema de ¿Que opinan de esta validacion de mail? en el foro de PHP en Foros del Web. Hola he echo esta validación de mail, y quisiera pedirle una opinión: de que les parece a ustedes esta validacion de mail, y si le ...
  #1 (permalink)  
Antiguo 01/06/2005, 21:23
 
Fecha de Ingreso: septiembre-2004
Ubicación: Cordoba
Mensajes: 70
Antigüedad: 19 años, 7 meses
Puntos: 0
¿Que opinan de esta validacion de mail?

Hola he echo esta validación de mail, y quisiera pedirle una opinión: de que les parece a ustedes esta validacion de mail, y si le encuentran algún error, falla o defecto. Les cuento que empece con esto de PHP hace solo 7 meses y me apasiona un monton. Desde ya muchas gracias.
Y para aquellos que les alla gustado y lo quisieran utilizar, les pido el favor que me avisen por mail, es solo para saber a quien le fue util .

Código HTML:
<html>
<head>
<title>Comprobar Ecorreo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<form action="comprobarmail.php" method="post">
  <input name="correo" type="text"> <br>
  <input name="vista" type="submit" value="Comprobar">
</form> 
Código PHP:
<?
if (($_POST['vista']=='Comprobar')):
$texto=$_POST['correo'];
//Compruebo que halla una @
if ((substr_count($texto,"@") == 1)){
//extraigo el nombre del mail
$elnombre=strtok($texto,'@');
//extraigo de posterior a @, y doy vuelta esa cadena
$postarroba strrev(substr (strrchr ($texto"@"), 1));
//extraigo lo que se halla despues del punto
$pos substr (strrchr ($postarroba"."), 1);
//para sacar el tipo de dominio
$dominio=(strrchr($_POST['correo'],"@"));
$postarrobaa substr (strrchr ($dominio"@"), 1);
$com substr (stristr ($postarrobaa"."), 1);
//se da vuelta la cadena y me da lo que se halla entre la @ y el primer punto.
$desparroba=strrev($pos);
$validar="$elnombre"."@"."$desparroba"."."."$com";
//hice una lista de caracteres no validos.
$nov="<".">"."["."]"."'\'"."\""."*"."$"." "."!"."?"."&"."#"."="."´"."+"."(".")"."'/'";
$novalidos=(similar_text($nov,$texto));
// le coloque '"' para que me validara los mail con nombre numericos.
if (('"'.$validar.'"'=='"'.$texto.'"') && (rtrim($com)) && ('"'.$texto.'"'==$novalidos)&&(rtrim($desparroba))){
echo 
"<strong>SU MAIL ES CORRECTO</strong><br>";
echo 
"<strong>Nombre del dominio: <em>".strrev($pos)."</em></strong><br/>";
echo 
"<strong>Tipo de dominio: <em>$com</em></strong><br/>";
echo 
"<strong>Nombre del Usuario del Email: <em>$elnombre</em></strong><br>";
echo 
"<strong>Direccion de Email: <em>$validar</em></strong><br/>";
}else{
echo 
"<strong>SU MAIL ES INCORRECTO</strong>";
}
}else{
echo 
"<strong>DEBE CONTENER UNA SOLA @</strong>";
}
endif;
?>
Código HTML:
</body>
</html> 
  #2 (permalink)  
Antiguo 02/06/2005, 10:17
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Para todo lo que has implementado .. está mejor usar "Expresiones regulares" .. facilita mucho más implementar "patrones" complejos como puede ser el de e-mail.

Ejemplo; esta FAQ:
http://www.forosdelweb.com/f18/faqs-php-530600-post333423/

Un saludo,
  #3 (permalink)  
Antiguo 02/06/2005, 21:33
 
Fecha de Ingreso: septiembre-2004
Ubicación: Cordoba
Mensajes: 70
Antigüedad: 19 años, 7 meses
Puntos: 0
Gracias Cluster

Bueno gracias por tu consejo y vere el link al que me enviaste, la verdad este foro me amplia muchisimo la cabeza, gracias.
  #4 (permalink)  
Antiguo 02/06/2005, 23:58
Avatar de otreblanc  
Fecha de Ingreso: mayo-2005
Ubicación: Chiapas, la última frontera...
Mensajes: 73
Antigüedad: 18 años, 11 meses
Puntos: 0
Hola!

Cluster tiene razón, seria más fácil utilizar expresiones regulares como en el link que comenta.

Sin embargo le encontré algunos detalles (hice un comentario al respecto en tal link).

Le expresion regular quedaría asi:
Código PHP:
if (!ereg("[a-zA-Z0-9\._]+@[a-zA-Z0-9\.-]+\.[a-zA-Z]{2,4}",$elmail)){ 
//todo lo demás... 
Enjoy! xD
  #5 (permalink)  
Antiguo 03/06/2005, 05:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por otreblanc
Hola!

Cluster tiene razón, seria más fácil utilizar expresiones regulares como en el link que comenta.

Sin embargo le encontré algunos detalles (hice un comentario al respecto en tal link).

Le expresion regular quedaría asi:
Código PHP:
if (!ereg("[a-zA-Z0-9\._]+@[a-zA-Z0-9\.-]+\.[a-zA-Z]{2,4}",$elmail)){ 
//todo lo demás... 
Enjoy! xD
Gracias por el aporte .. pero no corresponde como "FAQ" .. es decir, ese mensaje está destinado -sólo- para preguntas y respuestas .. si hay comentarios u observaciones, se deben hacer en un mensaje nuevo. Te invito a contactarte con el usuario que publicó dicha FAQ para que vean de editarla para mejorarla si corresponde (por el bien de todos y con los créditos correspondientes)

Un saludo,
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:22.