| Voir le sujet précédent :: Voir le sujet suivant |
creavizion Web Admin

Inscrit le: 12 Sep 2004 Messages: 51 Localisation: Montréal
|
Posté le: Lun Nov 08, 2004 11:03 am Sujet du message: Fonction PHP permettant de vérifier l'e-mail |
|
|
|
Salut j'aimerais savoir si qq1 pourais ou aurais une fonctionne php pour vérifier que l'e-mail de l'usager est valide! merci d'avance
p.s j'ai une couille aussi pour oublier l'usager a accepter les ''rêglement'' une idée!??? (Checkbox j'veux qu'il sois cocher sinon y peux pas regist) |
|
| Revenir en haut de page |
|
|
matt Web Admin

Inscrit le: 06 Avr 2004 Messages: 157 Localisation: Trois-Rivières
|
Posté le: Lun Nov 08, 2004 11:08 am Sujet du message: Re: Fonction PHP permettant de vérifier l'e-mail |
|
|
|
| creavizion a écrit: | Salut j'aimerais savoir si qq1 pourais ou aurais une fonctionne php pour vérifier que l'e-mail de l'usager est valide! merci d'avance
p.s j'ai une couille aussi pour oublier l'usager a accepter les ''rêglement'' une idée!??? (Checkbox j'veux qu'il sois cocher sinon y peux pas regist) |
Salut Jonathan,
1)
| Code: | function validateEmail($email) {
if(eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {
return 1;
}
return 0;
} |
Voici le code que j'utilise pour valider mes adresses courriels. Ça pourrait être mieux. Ca pourrait vérifier l'existence d'une zone MX mais bon
2) Bien heureux que tu ailles une couille. Non mais serieusement, effectue une validation javascript et php sur ton champ checkbox, il ne devrait pas avoir de problème.
Matt |
|
| Revenir en haut de page |
|
|
creavizion Web Admin

Inscrit le: 12 Sep 2004 Messages: 51 Localisation: Montréal
|
Posté le: Lun Nov 08, 2004 11:10 am Sujet du message: |
|
|
|
2) Oui je comprend qu'il faut que je les vérifs, mais disons que j'sais pas trop comment (La honte ) |
|
| Revenir en haut de page |
|
|
matt Web Admin

Inscrit le: 06 Avr 2004 Messages: 157 Localisation: Trois-Rivières
|
Posté le: Mar Jan 25, 2005 3:40 pm Sujet du message: |
|
|
|
Un peu tard mais,
Voici une mise à jour de la fonction.
| Code: |
function validateEmail($email) {
if (eregi("^[0-9a-z_]([-_.]?[0-9a-z])*@[0-9a-z][-.0-9a-z]*\\.[a-z]{2,3}[.]?$", $email, $check)) {
$host = substr(strstr($check[0], '@'), 1).".";
if (substr(PHP_OS, 0, 3) == 'WIN') {
//*******************************
// Windows Check
//*******************************
if (getmxrr_winNT($host, $validate_email_temp) )
return 1;
// Vérifier les DNS qui ne sont pas MX. Ca marche pareil selon la RFC.
if(checkdnsrr_winNT($host,"ANY"))
return 1;
} else {
//************************************
// Unix Check
//***********************************
if (getmxrr($host, $validate_email_temp) )
return 1;
// Vérifier les DNS qui ne sont pas MX. Ca marche pareil selon la RFC.
if(checkdnsrr($host,"ANY"))
return 1;
}
}
return 0;
}
function checkdnsrr_winNT( $host, $type = '' )
{
if( !empty( $host ) )
{
# Set Default Type:
if( $type == '' ) $type = "MX";
@exec( "nslookup -type=$type $host", $output );
while( list( $k, $line ) = each( $output ) )
{
# Valid records begin with host name:
if( eregi( "^$host", $line ) )
{
# record found:
return true;
}
}
return false;
}
}
function getmxrr_winNT( $hostname, &$mxhosts )
{
if( !is_array( $mxhosts ) ) $mxhosts = array();
if( !empty( $hostname ) )
{
@exec( "nslookup -type=MX $hostname", $output, $ret );
while( list( $k, $line ) = each( $output ) )
{
# Valid records begin with hostname:
if( ereg( "^$hostname\tMX preference = ([0-9]+), mail exchanger = (.*)$", $line, $parts ) )
{
$mxhosts[ $parts[1] ] = $parts[2];
}
}
if( count( $mxhosts ) )
{
reset( $mxhosts );
ksort( $mxhosts );
$i = 0;
while( list( $pref, $host ) = each( $mxhosts ) )
{
$mxhosts2[$i] = $host;
$i++;
}
$mxhosts = $mxhosts2;
return true;
}
else
{
return false;
}
}
} |
Les fonctions _winNT ne sont pas nécessaire si vous êtes hébergés sur une plateforme unix.
J'espère que ca pourra aider quelqu'un.
Matt  |
|
| Revenir en haut de page |
|
|
|
Vous ne pouvez pas poster de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum
|
|
|
|
|
|