La réponse que tu obtiens devrait te mettre sur la voix. Si ça t'affiche cela c'est que if (empty($_POST['parrain'])) est vrai.
Si $_POST['parrain'] est vide même si tu le rempli c'est qu'il y a un pb entre ce que tu envoies dans ton formulaire et ce que tu récupère en php
Note :
Pour voir ce que retourne l'ensemble de ton formulaire (en phase de test) écris
en haut de ton code php.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 echo '<pre>'; print_r($_POST); echo '</pre>';
Donc testes ce code simplifié dans une page séparée et tu devrais trouver le pb
Notes bien que j'ai corrigé un minimum ton code html car y'avait du bin's.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167 <?php ini_set('mysql.trace_mode', true); //error_reporting(E_ALL); echo '<pre>'; print_r($_POST); echo '</pre>'; if(isset($_POST['valider'])) { // il est pas connécté et a validé le formulaire $erreur = array(); if (empty($_POST['pseudo'])) { $erreur[] = 'Le champ Pseudo ne doit pas être vide.'; } if (empty($_POST['mdp'])) { $erreur[] = 'Le champ Mot de passe ne doit pas être vide.'; } if ($_POST['mdpConfirm'] != $_POST['mdp']) { $erreur[] = 'Les deux motes ne passe ne sont pas identiques.'; } if (empty($_POST['email'])) { $erreur[] = 'Le champ Email ne doit pas être vide.'; } if (empty($_POST['parrain'])) { $erreur[] = 'Le parrain n\'existe pas.<br>Le champ "Pseudo du parrain" ne doit pas être vide.'; } if (!count($erreur)) { $pseudo = securiserVariable($_POST['pseudo']); $mdp = HoloHash($_POST['mdp']); $email = securiserVariable($_POST['email']); $ip = $_SERVER['REMOTE_ADDR']; $retour = mysql_query("SELECT COUNT(*) AS nbreEntrees FROM users WHERE pseudo='".$pseudo."'"); $donnees = mysql_fetch_array($retour); if($donnees['nbreEntrees'] <= 0){ $creditsAjouter = 100; // Nombre de crédits à ajouter $sql = "SELECT COUNT(*) AS nbr FROM users WHERE pseudo='".mysql_real_escape_string($_POST['parrain'])."'"; echo 'sql = '.$sql ; exit; $reponse = mysql_query($sql); $alors = mysql_fetch_assoc($reponse); if($alors['nbr'] == 0) { echo "Ce parrain n'existe pas !"; } else { mysql_query("UPDATE users SET nbrCredits = nbrCredits + $creditsAjouter WHERE pseudo = '".mysql_real_escape_string($_POST['parrain'])."'"); // On met à jour le nombre de crédits du parrain mysql_query("INSERT INTO users VALUES ('','".$pseudo."','".$mdp."','".$email."','".$ip."','','')"); } echo 'L\'inscription s\'est déroulée avec succès, vous pouvez maintenant vous connecter.'; } else { echo'Ce pseudo est déjà pris par une autre personne'; } }else { $nbrErreur = count($erreur); echo '<b>Il y a '.$nbrErreur.' erreurs détectés.</b><br>'; echo '<b>Liste des erreurs :</b><ul>'; foreach($erreur as $erreur) echo "<li>$erreur</li>"; echo '</ul>'; echo'Merci de re-remplir le formulaire.'; echo' <br/> <br/> <form method="post" action ="#"> <fieldset> <legend>Inscription - MaxComs</legend> <label for="pseudo">Pseudo :</label> <input type="text" value="" id="pseudo" name="pseudo"/> <br/> <br/> <label for="mdp">Mot de passe :</label> <input type="password" value="" id="mdp" name="mdp"/> <br/> <br/> <label for="mdpConfirm">Mot de passe (confirm) :</label> <input type="password" value="" id="mdpConfirm" name="mdpConfirm"/> <br/> <br/> <label for="email">Votre Email</label> <input type="text" value="" id="email" name="email"/> <br/> <br/> <label for="parrain">Pseudo du Parrain :</label> <input type="text" value="" id="parrain" name="parrain"/> <br/> <br/> <label for="valider"> </label> <input type="submit" name="valider" value=" Valider l\'inscription "/> <br/> <br/> </fieldset><br><br> </form>'; } } else { // il est pas connécté et n'a pas validé le formulaire ?> <p>Voici ci-dessous le formulaire d'inscription à IziAllo.</p> <legend><b>ATTENTION :</b></legend><br>Il faut obligatoirement le pseudo du parrain, c'est à dire celui qui vous a fais connaître le site pour pouvoir s'inscrire.<br><br>Tous les champs sont obligatoires !</fieldset></b></p> <form method="post" action="#"> <fieldset> <legend>Inscription - IziAllo</legend><br> <label for="pseudo">Pseudo :</label> <input type="text" value="" id="pseudo" name="pseudo"/> <br/> <br/> <label for="mdp">Mot de passe :</label> <input type="password" value="" id="mdp" name="mdp"/> <br/> <br/> <label for="mdpConfirm">Mot de passe (confirmation) :</label> <input type="password" value="" id="mdpConfirm" name="mdpConfirm"/> <br/> <br/> <label for="email">Votre Email</label> <input type="text" value="" id="email" name="email"/> <br/> <br/> <label for="Parrain">Pseudo du Parrain :</label> <input type="text" value="" id="Parrain" name="Parrain"/> <br/> <br/> <label for="valider"> </label> <input type="submit" name="valider" value=" Valider l'inscription "/> <br/> </fieldset><br><br> </form> <?php } ?>
D'un autre côté je ne vois pas pourquoi tu réécris le formulaire une deuxième fois en cas de problème. Pourquoi ne pas te re servir du premier ? Tu cherche vraiment des complications...
Et d'ailleurs les deux formulaires sont-ils réellement identiques, notamment les input parrain ou Parrain
Bon aller corrige vite cette erreur et refais un code plus propre avec un seul formulaire.
Partager