Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1902 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Comment faire une boucle dans un if

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment faire une boucle dans un if

n°1694250
bingojm
Posté le 28-02-2008 à 12:44:18  profilanswer
 

Bonjour à tous,
 
Voici mon problème. J'ai réalisé un espace membres, mais je voudrais que, quand le joueur vient s'enregistrer, le pseudo créé soit un numéro de joueur que je lui ai envoyé au préalable (avant qu'il ne s'inscrive).
Voici les conditions que j'avais faites au départ:

Code :
  1. if($pseudo_membre=="" ){echo "<p class=\"pave_main\" align=\"center\">Vous devez choisir un pseudo.<br><br><a href=\"javascript:window.history.back()\" class=\"lien4\"><u>Retour</u></a></p>";exit;}
  2.   if($passe_membre=="" ){echo "<p class=\"pave_main\" align=\"center\">Vous devez choisir un mot de passe.<br><br><a href=\"javascript:window.history.back()\" class=\"lien4\"><u>Retour</u></a></p>";exit;}
  3.   if($email=="" ){echo "<p class=\"pave_main\" align=\"center\">Vous devez indiquer votre email.<br><br><a href=\"javascript:window.history.back()\" class=\"lien4\"><u>Retour</u></a></p>";exit;}
  4.   if($nom=="" ){echo "<p class=\"pave_main\" align=\"center\">Vous devez indiquer votre nom.<br><br><a href=\"javascript:window.history.back()\" class=\"lien4\"><u>Retour</u></a></p>";exit;}
  5.   if($prenom=="" ){echo "<p class=\"pave_main\" align=\"center\">Vous devez indiquer votre prenom.<br><br><a href=\"javascript:window.history.back()\" class=\"lien4\"><u>Retour</u></a></p>";exit;}
  6.   if($adress=="" ){echo "<p class=\"pave_main\" align=\"center\">Vous devez indiquer votre adresse.<br><br><a href=\"javascript:window.history.back()\" class=\"lien4\"><u>Retour</u></a></p>";exit;}
  7.   if($postal=="" ){echo "<p class=\"pave_main\" align=\"center\">Vous devez indiquer votre code postal.<br><br><a href=\"javascript:window.history.back()\" class=\"lien4\"><u>Retour</u></a></p>";exit;}
  8.   if($ville=="" ){echo "<p class=\"pave_main\" align=\"center\">Vous devez indiquer votre ville.<br><br><a href=\"javascript:window.history.back()\" class=\"lien4\"><u>Retour</u></a></p>";exit;}
  9.   if($tel=="" ){echo "<p class=\"pave_main\" align=\"center\">Vous devez indiquer votre téléphone.<br><br><a href=\"javascript:window.history.back()\" class=\"lien4\"><u>Retour</u></a></p>";exit;}


Cela fonctionne jusque là, mais maintenant je voudrais ajouter la condition que le pseudo choisi corresponde avec le numéro de joueur que je lui ai envoyé avant. Ce numéro de joueur est déjà enregistré dans ma base... Voici ce que j'ai fait. Cela la fonctionne, mais seulement avec le premier joueur. Comment faire une boucle pour que tous les numéros de joueurs soient pris en compte?

Code :
  1. include("../connexion.php" );   
  2. $req=mysql_query("select joueur from table_joueurs" ); 
  3. $result=mysql_fetch_array($req);
  4. $joueur=$result['joueur'];   
  5.   if($pseudo_membre=="" ){echo "<p class=\"pave_main\" align=\"center\">Vous devez choisir un pseudo.<br><br><a href=\"javascript:window.history.back()\" class=\"lien4\"><u>Retour</u></a></p>";exit;}
  6.   if($pseudo_membre!==$joueur){echo "<p class=\"pave_main\" align=\"center\">Vous n'êtes pas un joueur enregistré.<br><br><a href=\"javascript:window.history.back()\" class=\"lien4\"><u>Retour</u></a></p>";exit;}
  7.   if($passe_membre=="" ){echo "<p class=\"pave_main\" align=\"center\">Vous devez choisir un mot de passe.<br><br><a href=\"javascript:window.history.back()\" class=\"lien4\"><u>Retour</u></a></p>";exit;}
  8.   if($email=="" ){echo "<p class=\"pave_main\" align=\"center\">Vous devez indiquer votre email.<br><br><a href=\"javascript:window.history.back()\" class=\"lien4\"><u>Retour</u></a></p>";exit;}
  9.   if($nom=="" ){echo "<p class=\"pave_main\" align=\"center\">Vous devez indiquer votre nom.<br><br><a href=\"javascript:window.history.back()\" class=\"lien4\"><u>Retour</u></a></p>";exit;}
  10.   if($prenom=="" ){echo "<p class=\"pave_main\" align=\"center\">Vous devez indiquer votre prenom.<br><br><a href=\"javascript:window.history.back()\" class=\"lien4\"><u>Retour</u></a></p>";exit;}
  11.   if($adress=="" ){echo "<p class=\"pave_main\" align=\"center\">Vous devez indiquer votre adresse.<br><br><a href=\"javascript:window.history.back()\" class=\"lien4\"><u>Retour</u></a></p>";exit;}
  12.   if($postal=="" ){echo "<p class=\"pave_main\" align=\"center\">Vous devez indiquer votre code postal.<br><br><a href=\"javascript:window.history.back()\" class=\"lien4\"><u>Retour</u></a></p>";exit;}
  13.   if($ville=="" ){echo "<p class=\"pave_main\" align=\"center\">Vous devez indiquer votre ville.<br><br><a href=\"javascript:window.history.back()\" class=\"lien4\"><u>Retour</u></a></p>";exit;}
  14.   if($tel=="" ){echo "<p class=\"pave_main\" align=\"center\">Vous devez indiquer votre téléphone.<br><br><a href=\"javascript:window.history.back()\" class=\"lien4\"><u>Retour</u></a></p>";exit;}
  15.   if($sup_direct=="" ){echo "<p class=\"pave_main\" align=\"center\">Vous devez indiquer le nom de votre supérieur direct.<br><br><a href=\"javascript:window.history.back()\" class=\"lien4\"><u>Retour</u></a></p>";exit;}

mood
Publicité
Posté le 28-02-2008 à 12:44:18  profilanswer
 

n°1694277
CyberDenix
Posté le 28-02-2008 à 13:19:30  profilanswer
 

Code :
  1. while ($result=mysql_fetch_array($req)) {
  2.  $joueur = $result['joueur'];
  3.  ...
  4. }


---------------
Directeur Technique (CTO)
n°1694300
leflos5
On est ou on est pas :)
Posté le 28-02-2008 à 13:35:35  profilanswer
 

Euuuuuh va falloir changer la requête là parce que ça risque de déconner ton truc!
 
Je vérifierais plutot si avec toutes les infos que tu as tu trouverais pas quelqu'un de déjà inscrit ;)

n°1694408
bingojm
Posté le 28-02-2008 à 15:01:11  profilanswer
 

CyberDenix a écrit :

Code :
  1. while ($result=mysql_fetch_array($req)) {
  2.  $joueur = $result['joueur'];
  3.  ...
  4. }



J'essaie mais ca ne va pas...
Est-ce correct comme cela?

Code :
  1. include("../connexion.php" );   
  2. $req=mysql_query("select joueur from table_joueurs" ); 
  3. $result=mysql_fetch_array($req);
  4. while ($result=mysql_fetch_array($req)) { 
  5. $joueur=$result['joueur']; 
  6. }
  7.  
  8.   if($pseudo_membre=="" ){echo "<p class=\"pave_main\" align=\"center\">Vous devez choisir un pseudo.<br><br><a href=\"javascript:window.history.back()\" class=\"lien4\"><u>Retour</u></a></p>";exit;}
  9.   if($pseudo_membre!==$joueur){echo "<p class=\"pave_main\" align=\"center\">Vous n'êtes pas un agent enregistré.<br>Veuillez contacter le Webmaster.<br><br><a href=\"javascript:window.history.back()\" class=\"lien4\"><u>Retour</u></a></p>";exit;}
  10.   if($passe_membre=="" ){echo "<p class=\"pave_main\" align=\"center\">Vous devez choisir un mot de passe.<br><br><a href=\"javascript:window.history.back()\" class=\"lien4\"><u>Retour</u></a></p>";exit;}
  11.   if($email=="" ){echo "<p class=\"pave_main\" align=\"center\">Vous devez indiquer votre email.<br><br><a href=\"javascript:window.history.back()\" class=\"lien4\"><u>Retour</u></a></p>";exit;}
  12.   if($nom=="" ){echo "<p class=\"pave_main\" align=\"center\">Vous devez indiquer votre nom.<br><br><a href=\"javascript:window.history.back()\" class=\"lien4\"><u>Retour</u></a></p>";exit;}
  13.   if($prenom=="" ){echo "<p class=\"pave_main\" align=\"center\">Vous devez indiquer votre prenom.<br><br><a href=\"javascript:window.history.back()\" class=\"lien4\"><u>Retour</u></a></p>";exit;}
  14.   if($adress=="" ){echo "<p class=\"pave_main\" align=\"center\">Vous devez indiquer votre adresse.<br><br><a href=\"javascript:window.history.back()\" class=\"lien4\"><u>Retour</u></a></p>";exit;}
  15.   if($postal=="" ){echo "<p class=\"pave_main\" align=\"center\">Vous devez indiquer votre code postal.<br><br><a href=\"javascript:window.history.back()\" class=\"lien4\"><u>Retour</u></a></p>";exit;}
  16.   if($ville=="" ){echo "<p class=\"pave_main\" align=\"center\">Vous devez indiquer votre ville.<br><br><a href=\"javascript:window.history.back()\" class=\"lien4\"><u>Retour</u></a></p>";exit;}
  17.   if($tel=="" ){echo "<p class=\"pave_main\" align=\"center\">Vous devez indiquer votre téléphone.<br><br><a href=\"javascript:window.history.back()\" class=\"lien4\"><u>Retour</u></a></p>";exit;}
  18.   if($sup_direct=="" ){echo "<p class=\"pave_main\" align=\"center\">Vous devez indiquer le nom de votre supérieur direct.<br><br><a href=\"javascript:window.history.back()\" class=\"lien4\"><u>Retour</u></a></p>";exit;}

J'ai essayé de mettre la dernière accolade à la fin, mais ca ne change rien...

leflos5 a écrit :

Euuuuuh va falloir changer la requête là parce que ça risque de déconner ton truc!
 
Je vérifierais plutot si avec toutes les infos que tu as tu trouverais pas quelqu'un de déjà inscrit ;)


Changer toute la requête??
Pour vérifier si qq est déjà inscrit, je l'ai fait plus loin ça...
Mais là, je veux que le pseudo soit accepté si et seulement si il existe déjà bien dans "joueur".  
Sauvez-moi...merci d'avance!!

n°1694463
bingojm
Posté le 28-02-2008 à 15:58:00  profilanswer
 

Vraiment personne pour m'aider?

n°1694475
FlorentG
Posté le 28-02-2008 à 16:30:43  profilanswer
 

Olala le pavé [:pingouino] Faudrait alléger. Et pis y'a un énorme problème, c'est qu'à chaque message d'erreur tu fais exit. Donc le mec qui fait une erreur, il n'aura pas gentillement la liste des erreurs affichées, mais les erreurs une par une, avec en plus en guise de retour en arrière un javascript qui risque de bugger à mort (dans certains cas le formulaire sera vide).
 
Faut tout revoir à 100% :( C'est une horreur d'usabilité là

n°1694478
bingojm
Posté le 28-02-2008 à 16:35:35  profilanswer
 

ok, ca je peux faire, merci du conseil. Mais pour ce qui est de la boucle pour rechercher dans la totalité de"joueur" pour ne pas avoir juste le premier. comment faire svp? c'est possible ou pas?

n°1694518
Xav_
The only one...
Posté le 28-02-2008 à 17:15:51  profilanswer
 

bingojm a écrit :

Changer toute la requête??
Pour vérifier si qq est déjà inscrit, je l'ai fait plus loin ça...
Mais là, je veux que le pseudo soit accepté si et seulement si il existe déjà bien dans "joueur".  
Sauvez-moi...merci d'avance!!


 
Solutions pour savoir si le joueur existe:
- 1/ (ce que tu fais toi) --> récupérer tous les joueurs de la table, et essayer de mettre en place une boucle pour comparer à tous les éléments de la requête, le joueur du formulaire
- 2/ (ce qu'on te propose) --> regarder dans la table joueur, le joueur qui vient d'être saisie dans le formulaire --> si la requête ne retourne rien, c'est qu'il n'existe pas ;)
 
Les avantages de la méthode 2 sont que ta requête va renvoyer 1 ou 0 enregistrement (le joueur existe ou n'existe pas), donc plus besoin de faire de boucle.
Alors que dans la méthode 1, tu va récupérer tous les joueurs de la table et faire une boucle dessus, uniquement pour voir s'il y en a un de présent...


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°1694556
bingojm
Posté le 28-02-2008 à 17:52:12  profilanswer
 

Voilà qui est beaucoup plus clair pour moi, merci Xav:)
Je ne cherche pas à ce que l'on fasse le travail à ma place, mais puis-je au moins vous demander un petit coup de pouce pour commencer? Je ne vois pas trop comment je dois m'y prendre pour ça...
 
J'imagine que la fin sera:

Code :
  1. if($pseudo_membre==1){echo ... ...  else ...

Merci d'avance

n°1695188
Xav_
The only one...
Posté le 29-02-2008 à 16:47:06  profilanswer
 

en gros, je verrai ça comme ça moi:

Code :
  1. //tu modifie un peu ta requête pour ne chercher que la présence de "pseudo_membre" dans la table joueur
  2. $req=mysql_query("select joueur from table_joueurs WHERE joueur = $pseudo_membre" );
  3. // pas besoin de contrôler le contenu de la requête (si elle contient un enregistrement, c'est que la valeur est bien celle que tu veux, sinon elle ne contient rien)
  4. $joueur_connu = (mysql_num_rows($res) > 0);
  5. // joueur_connu vaudra 1 (ou VRAI si tu préfère) si la requête a retourné quelque chose, 0 (ou FAUX) sinon

je te laisse gérer ton if sur $joueur_connu pour gérer ce que dois faire ton prog
 
en espérant que tu y vois plus clair, bonne continuation pour la suite


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Comment faire une boucle dans un if

 

Sujets relatifs
Une pause dans une boucle...Probleme lien hypertexte, en boucle
Duplicatemovieclip Dans Une Boucle Et OnrolloverProbleme boucle For getURL capricieuse
Problème de boucle...?probleme de boucle
[C] Problème de boucle WhileRemplir un grand nombre de comboBox avec une boucle
[batch DOS] boucle if qui ne trouve pas le fichierouverture fichier texte dans une boucle //ex edit meta tags
Plus de sujets relatifs à : Comment faire une boucle dans un if


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR