comment vérifier une adresse mail ?

Eléphanteau du PHP | 31 Messages

29 juin 2006, 16:05

Salut à tous

Je cherche à savoir comment vérifier une adresse mail...

J'ai un script de recommandation sur mon site qui fonctionne bien si on rentre une adresse du genre [email protected] ... par contre si je mets blou tout court, du coup j'ai un message d'erreur qui s'affiche mais pas "joliment" je dirai :lol:

Voila ce que ça me dit :

Code : Tout sélectionner

Warning: mail() [function.mail]: Invalid mail. to = [blou] in /mnt/128/sdb/2/c/blingbling/pages/rec.php on line 11
Alors voila si quelqu'un veut bien m'indiquer un lien vers un tuto assez simple pour corriger ce problême je suis preneur !

Pour info voila mon script :
<?php
if($_POST)
{
    if(empty($_POST['nom']) OR empty($_POST['email']) OR empty($_POST['content']))
    {
        echo "<p>Veuillez remplir tous les champs.</p>";
    }
    else
    {
        mail($_POST['email'], stripslashes($_POST['nom'])." vous recommande un site", stripslashes($_POST['content']), "From: ".$_POST['email']."\nReply-To: ".$_POST['email']);
        echo "<p>Votre ami vient d'être prévenu.</p>";
    }    
}
?><form action='<?php echo $PHP_SELF; ?>?page=rec' method='post'>
<fieldset>...etc</fieldset></form>
Alors d'apres ce que j'ai pu voir jusqu'à present c'est ça :
!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2,4
Mais je ne sais ni comment ni où l'appliquer ...

Merçi !

Mammouth du PHP | 1353 Messages

29 juin 2006, 16:45

Ce que je te conseille :

Tu crées la fonction
// fonction de vérification d'email
function checkmail($email) {
	if(!preg_match('`^[[:alnum:]]([-_.]?[[:alnum:]])*@[[:alnum:]]([-_.]?[[:alnum:]])*\.([a-z]{2,4})$`',$email)) Return false;
	Return true;
}
tu la déclares dans ton fichier.

Tu lui envoie $_POST["email"] pour la verification, en stockant le resultat dans un booleen qui te diras si c est bon ou pas :
$mail_bon = checkmail($_POST["email"]);
if($mail_bon) // tu fais ta requete
else //tu mets un message d erreur
Tell me and I forget. Teach me and I remember. Involve me and I learn.

Invité
Invité n'ayant pas de compte PHPfrance

29 juin 2006, 16:52

Ce que je te conseille :

Tu crées la fonction
// fonction de vérification d'email
function checkmail($email) {
	if(!preg_match('`^[[:alnum:]]([-_.]?[[:alnum:]])*@[[:alnum:]]([-_.]?[[:alnum:]])*\.([a-z]{2,4})$`',$email)) Return false;
	Return true;
}
tu la déclares dans ton fichier.

Tu lui envoie $_POST["email"] pour la verification, en stockant le resultat dans un booleen qui te diras si c est bon ou pas :
$mail_bon = checkmail($_POST["email"]);
if($mail_bon) // tu fais ta requete
else //tu mets un message d erreur
Merçi pour le conseil :D

Mais...je la mets où ma fonction dans mon script ?

Boolen ? :roll:

Mammouth du PHP | 1353 Messages

29 juin 2006, 16:58

Mais...je la mets où ma fonction dans mon script ?
Je te conseille de la mettre au début du fichier par exemple, entre les balises <?php et ?> bien sûr.
Boolen ?
Booleen est un type de variable qui peut etre Vrai ou Faux (true ou false).
Comme tu peux le voir la fonction fait soit un Return true soit un Return false cela veut dire que la variable $mail_bon aura la valeur true si l adresse est correcte et false sinon.

Je te conseille de réviser les bases du php si tu veux pouvoir avancer et comprendre, parce que la sinon dès que tu auras un probleme tu vas poser une question sur le forum, faire un copier coller de la réponse dans ton code et ne pas progresser...
Tell me and I forget. Teach me and I remember. Involve me and I learn.

Eléphanteau du PHP | 31 Messages

29 juin 2006, 17:14

Mais...je la mets où ma fonction dans mon script ?
Je te conseille de la mettre au début du fichier par exemple, entre les balises <?php et ?> bien sûr.
Boolen ?
Booleen est un type de variable qui peut etre Vrai ou Faux (true ou false).
Comme tu peux le voir la fonction fait soit un Return true soit un Return false cela veut dire que la variable $mail_bon aura la valeur true si l adresse est correcte et false sinon.

Je te conseille de réviser les bases du php si tu veux pouvoir avancer et comprendre, parce que la sinon dès que tu auras un probleme tu vas poser une question sur le forum, faire un copier coller de la réponse dans ton code et ne pas progresser...
ok je vais tester ça alors...

Oui je sais que ça fait un peu genre "donnez moi un code je copie je colle..." désolé, je ne veux pas paraître une feignasse...

A vrai dire, je suis en plein apprentissage du xhtml et css et je commence à bien me débrouiller à present, et j'ai survolé le php et lu quelques tutos comme sur le site du zero mais je n'ai pas encore eu le temps d'approfondir ni de bien retenir les bases daillleurs ;)

Je compte m'y mettre tres prochainement car c'est vraiment utile le php ! C'est pourquoi je vous demande de l'aide car evident je dois finir un site et comme vous vous en doutez je ne peux pas apprendre xhtml, css et php tout seul d'un coup en quelques jours voir en une semaine...

Mais bon j'avance j'avance et j'ai hate d'apprendre réellement le php 8)

Encore merçi pour l'aide :wink: