par
orgerix » 29 juin 2007, 14:45
Ta variable $_GET['mail2'] ne change pas au cours de ton traitement PHP... elle est redéfini uniquement en cas d'un appel de la page.
Ton problème est (en parti) un problème d'accolade. De plus, tu extrait toutes les adresses pour voir si l'adresse est dans la base de donnée, ce qui est un gaspillage de ressource inutile.
Une simple clause WHERE email = $_GET['email2'] fait tout le travail et plus rapidement.
Ensuite, au lien de faire une boucle, tu peux seulement tester si elle retourne, ce qui donne un script
$emailx=$_GET['email2'];
$result = mysql_query ("SELECT email FROM newsletter WHERE email='".mysql_real_escape_string($emailx)."'");
if ($req = mysql_fetch_assoc($result) || eregi('pouet', $emailx) )
{ echo "<center>Erreur : E-mail périmé ou déjà existant</center>";
}
Par contre, je ne suis pas du tout au point sur les expressions régulières donc je ne pourrais pas t'aider.
EDIT : en fait, regarde du coté de preg_match().
Ta variable $_GET['mail2'] ne change pas au cours de ton traitement PHP... elle est redéfini uniquement en cas d'un appel de la page.
Ton problème est (en parti) un problème d'accolade. De plus, tu extrait toutes les adresses pour voir si l'adresse est dans la base de donnée, ce qui est un gaspillage de ressource inutile.
Une simple clause WHERE email = $_GET['email2'] fait tout le travail et plus rapidement.
Ensuite, au lien de faire une boucle, tu peux seulement tester si elle retourne, ce qui donne un script
[php]
$emailx=$_GET['email2'];
$result = mysql_query ("SELECT email FROM newsletter WHERE email='".mysql_real_escape_string($emailx)."'");
if ($req = mysql_fetch_assoc($result) || eregi('pouet', $emailx) )
{ echo "<center>Erreur : E-mail périmé ou déjà existant</center>";
}
[/php]
Par contre, je ne suis pas du tout au point sur les expressions régulières donc je ne pourrais pas t'aider.
EDIT : en fait, regarde du coté de preg_match().