Envoyer une requête

Shwan
Invité n'ayant pas de compte PHPfrance

05 févr. 2009, 23:23

Salut!!
J'ai crée un script permettant de s'inscrire dans mon site, alors tout semble bien passé , la vérification des variables, le cryptage du mot de passe etc..., le seul problème que j'ai rencontré c'est quand je met une boucle qui va analyser les noms d'utilisateurs et les adresses email pour éviter l'inscription avec des noms semblables, jusqu'ici tout marche bien , voici le code de ma boucle :

Code : Tout sélectionner

while(list($pseudo_row, $email_row) = mysql_fetch_row($query)): if($email == $email_row && $pseudo == $pseudo_row): echo 'Email et nom d\'utilisateur sont déjà pris'; break; elseif($pseudo == $pseudo_row): echo 'Pseudo déjà pris'; break; elseif($email == $email_row): echo 'Email déjà pris'; break; endif; endwhile;
le problème c'est que je sais pas où mettre la partie du code qui va être exécuter si on ne trouve pas l'email et le pseudo dans la table user .
Si quelqu'un a compris ma vision , ça serait sympa de contribuer à cette discussion!!!!!
Merci

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

05 févr. 2009, 23:44

Totalement allergique aux elseif en cascade,
je préfère utiliser des while ou des if indépendants avec un flag commun.

Ici, la variable $rejet...
while (list($pseudo_row, $email_row) = mysql_fetch_row($query))
      { $rejet = false;
        if ($email == $email_row && $pseudo == $pseudo_row)
           { echo 'e-mail et nom d\'utilisateur déjà pris';
             $rejet = true;
           }
        if ($pseudo == $pseudo_row):
           { echo 'Pseudo déjà pris';
             $rejet = true;
           }
        if ($email == $email_row):
           { echo 'e-mail déjà pris';
             $rejet = true;
           }
        if (!$rejet)
           { echo 'Identifiants acceptés';
             // tes instructions...
           }
      }