Php vérif email valide

graphistolage Messages postés 2 Statut Membre -  
 younes371 -
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 821 Statut Membre 161
 
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 Statut Membre
 
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
younes371
 
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