|
|
|
||||||||||||||||||||||
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Parceiros - CSS para Web Design - S.O.S Designers - Slackware-Brasil - Crie seu Web site - Oficina da Net - Codigo Fonte.net |
Comprovar se existe o domínio do correioWorkshop de PHP no qual vamos utilizar uma série de funções que nos permitirão verificar se existe o domínio de um correio dado. Em PHP existem várias funções que nos permite obter a veracidade de endereços URL, DNS ou IPS.
Uma destas funções, checkdnsrr(), comprova registros correspondentes a nomes de máquinas ou endereços IP. Algo que pode ser muito útil se quisermos comprovar se existe o domínio do correio aportado pelo usuário. Entretanto, só comprova o domínio, não se a conta de correio existe. Sua sintaxe é a seguinte: checkdnsrr ( string host [, string type]) Busca em DNS entradas do tipo type correspondentes a host. Devolve verdadeiro(TRUE) se encontrar algum registro; devolve false( FALSO) se não encontrar nenhum ou se tiver acontecido algum erro. type pode ser: A, MX, NS, SOA, PTR, CNAME, ou ANY. Por padrão é MX. O código é o seguinte: <?? <?php function validar_email($email){ $exp = "^[a-z\'0-9]+([._-][a-z\'0-9]+)*@([a-z0-9]+([._-][a-z0-9]+))+$"; if(eregi($exp,$email)){ if(checkdnsrr(array_pop(explode("@",$email)),"MX")){ return true; }else{ return false; } }else{ return false; } } // para aplicá-la if (validar_email($_GET[correio])){ // coloco as instruções echo 'É correto o correio'; }else{ echo 'É falso o correio'; } ?> Explicação: O primeiro é definir nossa função, que terá como nome validar_email(). Utilizaremos Expressões regulares para buscar as coincidências e similitudes entre a expressão ($exp) e o valor de ($email). Ver: http://www.php.net/eregi Se esta condição avalia TRUE então quer dizer que efetivamente $email, Começa por qualquer letra que vá de [a-z] , [0-9], pode conter um hífen, ponto ou outro, seguido de um @( arroba como obrigatório) e logo se repetiria o processo para o nome do domínio, e finalmente um (.) PONTO como obrigatório, onde continuaria a extensão do domínio como final da cadeia. Agora executamos a função checkdnsrr(). Como já disse anteriormente sempre e quando eregi, tome o valor TRUE. Com a função explode() dividimos o valor de $email em um ARRAY ou MATRIZ, tomando como ponto de separação o @ ARROBA. Lembremos que agora temos um Array onde [0] é o usuário do correio e [1] é o domínio do correio. Para logo obter este ultimo valor [1] da matriz com array_pop(). O seguinte parâmetro corresponde a buscar as entradas de tipo MX que é o default desta função. De acordo com todas estas condições retornamos Booleanos segundo seja o caso: return( TRUE/ FALSE ); Um exemplo: Se alguém escreve: nosessssssssssssssssssssssssssssssssss@hotmail.com, nossa função nos devolverá TRUE, lembremos que esta função nos comprova se existe o host : >>> Hotmail.com , porém não o nome de usuário nossse…
Autoria e outras referências sobre este artigo Dentro deste artigo: + 1 manual relacionado + 1 categoria relacionada
Manuais relacionados com este artigo Dentro de Workshop de PHP Seguinte: Tutorial de BBCode Categorias relacionadas Através das categorias do nosso diretório podem ser encontrados outros tipos de recursos relacionados com este artigo: + Entrar em Scripts em PHPComentários dos visitantes Os comentários dos visitantes são para ampliar a informação do artigo. Todos podem participar.
|
| Sobre nós | Copyright | Anuncie | Entrar em contato | <criarweb> |