Php vérif email valide
graphistolage
Messages postés
2
Date d'inscription
Statut
Membre
-
younes371 -
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 :
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>
Configuration: Windows XP Firefox 2.0.0.12
2 réponses
-
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+ -
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";
}
?>