Php vérif email valide

Fermé
graphistolage Messages postés 2 Date d'inscription vendredi 11 novembre 2005 Statut Membre Dernière intervention 2 mars 2008 - 2 mars 2008 à 15:56
 younes371 - 18 juil. 2008 à 12:18
Bonjour,

Un champs "inscription à la newsletter" posé sur une page plutot très simple .. seul bémol si j'entre une adresse avec des points par exemple [mon.prenom@test.fr] la vérif me renvoie un message d'adresse invalide.

Mes connaissances sont plus que laborieuse (autant dire aucune) en php j'imagine que pour un oeil exercé c'est l'affaire de quelques secondes...

LA PAGE D'INSCRIPTION :

<body>
<script language="php">
if($pass2 !=1){$resultat="S'incrire à la newsletter";}
$test = 1;
if (strlen($email) >=1)
{
$email = str_replace("|","",$email);
//on vérifie le format de l'adresse e-mail et que les champs ne sont pas vide
$emailverif = $email;
$emailt1 = explode("@",$emailverif);
$emailt2 = explode(".",$emailverif);
$emailt3 = explode(" ",$emailverif);
$emailt4 = explode("@",$emailt2[0]);
if(($email) && (sizeof ($emailt1) == 2) && (sizeof ($emailt2) == 2) && (sizeof ($emailt3) == 1) && (sizeof ($emailt4) == 2)){}
else{$test = 0;$resultat = "E-mail non valide !!";$pass2=1;}

//on vérifie que l'adresse e-mail entré n'est pas déjà enregistrée dans la liste de diffusion.
$fp = fopen("result.lst","r");
while (!feof($fp)){$ligne = fgets($fp,4096);$email2 = explode("|",$ligne);}
fclose($fp);
for($x=0;$x <= sizeof($email2)-1;$x++)
{
if ($email2[$x] == $email){$test=0;$resultat = "Vous êtes déjà inscrit(e) !!";$pass2=1;}
}

if($test== 1 )
{
$fp = fopen("result.lst","a");fputs($fp,"$email|");fclose($fp);
$resultat = "Inscription validé";$pass2=1;
}
}
</script>

<form method="post" action="news.php?pass2=$pass2">
   <table width="220" border="0" align="center" cellpadding="0" cellspacing="0">
      <tr>
      <td align="center" valign="middle">
         <table height="50" border="0" cellpadding="2" cellspacing="0">
            <tr> 
               <td height="30" valign="middle"> 
                  <input type="text" name="email">
                  <input type="submit" name="submit" value="OK">
               </td>
            </tr>
            <tr> 
               <td valign="top"><? echo($resultat) ?></td>
            </tr>
         </table>
      </td>
      </tr>
   </table>
</form>
</body>
A voir également:

2 réponses

scandium Messages postés 803 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 30 mai 2012 160
2 mars 2008 à 16:00
Bonjour je ne connait rien ou presque en php mais il me semble que c'est la vérife du format de ton email qui pose probléme du moins la vérif sur le "point" .

a+
0
graphistolage Messages postés 2 Date d'inscription vendredi 11 novembre 2005 Statut Membre Dernière intervention 2 mars 2008
2 mars 2008 à 16:03
oui ça à l'air d'être ça..
j'ai fais différents test sur ce qui à l'air d'avoir un rapport avec le point mais rien de concluant malheureusement :(
Merci quand même scandium :)
0
Verifier si un Email est valide.

<?php
if (!eregi ("^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,4}$", $email) {
echo "Email invalide";
}
else {
echo "Email Valide";
}
?>
0