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>
Configuration: Windows XP
Firefox 2.0.0.12