Php vérif email valide

graphistolage Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
 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 812 Date d'inscription   Statut Membre Dernière intervention   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 Date d'inscription   Statut Membre Dernière intervention  
 
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