Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/04/2011, 19h03   #1
Invité régulier
 
Inscription : février 2011
Messages : 59
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 59
Points : 6
Points : 6
Par défaut [PHP] Inscription aide

Bonjour,

Je voudrais que le champ "pseudo du parrain" ne soit plus obligatoire et que la requête vérifie si le pseudo du parrain existe bien dans la BDD que si l'utilisateur qui s'inscrit entre un pseudo dans le champ et je ne sais pas comment faire :/

Voici ma page d'inscription :

Code :
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
168
169
170
171
172
173
174
175
176
177
178
<?php
include('includes/header.php');
?>
 
<?php
//ini_set('mysql.trace_mode', true);
//error_reporting(E_ALL);
 
include('includes/header.php');
 
$user_connected = connecte()? true : false;
 
$succes_inscription = null;
 
$erreur = array();
 
 
if(!$user_connected && isset($_POST['valider'])) 
{ // il est pas connécté et a validé le formulaire
 
 
	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 mots ne passe ne sont pas identiques.';
		}
 
	if (empty($_POST['email'])) 
		{
		   $erreur[] = 'Le champ Email ne doit pas être vide.';
		}
 
	if (count($erreur) == 0) 
		{
			$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 = 5; // Nombre de crédits à ajouter
 
					$sql = "SELECT COUNT(*) AS nbr FROM users WHERE pseudo='".mysql_real_escape_string($_POST['parrain'])."'";
 
					$reponse = mysql_query($sql);
 
					$alors  = mysql_fetch_assoc($reponse);
 
					if($alors['nbr'] == 0) 
						{
							$erreur[] = "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
 
						  	$insert = mysql_query("INSERT INTO users VALUES ('','".$pseudo."','".$mdp."','".$email."','".$ip."',100,'')") or die(mysql_error());	
 
                                                        if($insert) 
                                                              { 
                                                                    $succes_inscription =  'L\'inscription s\'est déroulée avec succès, vous pouvez maintenant vous connecter.';
                                                               }
                                                                else 
                                                               {
                                                                    $erreur[] = "Une erreur technique s'est produite pendant votre inscription, veuillez réessayer.";
                                                               }
 
	 					}
 
 
				} 
				else 
				{
					$erreur[] = 'Le pseudo "'.htmlspecialchars($_POST['pseudo']).'" est déjà pris par une autre personne';
				}
		} 
} 
?>
 
 
<?php if(!$user_connected && !isset($succes_inscription))
	{// il n'est pas connecté et ne vient pas de s'inscrire => on affiche le formulaire	
	?>			
			<?php	if (count($erreur) > 0) 
				{
					$nbrErreur = count($erreur);
					 echo '<b>Il y a '.$nbrErreur.' erreurs détectées.</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 />';
				}
				else
				{?>
 
					 <p>
						<fieldset><legend><b>Informations - Weepass</b></legend><br>
						Le pseudo du <b>parrain</b>, c'est le pseudo de celui qui vous a fais connaître Weepass.net, ce champ est facultatif.<br><br><i>Tous les champs sont obligatoires pour finaliser l'inscription à part le champ "Pseudo du parrain" !</i></fieldset>
						<br>
					</p>
		      <?php }?>
 
 
			<div>
			<form method="post">
			<fieldset>
			<legend><b>Inscription - Weepass</b></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">&nbsp;</label>
			<input type="submit" name="valider" value=" Valider l'inscription "/>
			<br/>
			</fieldset><br><br>
			</form>
			</div>
 
<?php
	} ?>
 
 
 
<?php 	
	if($user_connected) //il est connecté
	{ ?>
		<p>Vous êtes déjà connéctés - Impossible de vous inscrire une seconde fois !</p>
	<?php 
	} ?>
 
 
 
<?php //il vient de s'incrire
	if(isset($succes_inscription)) echo $succes_inscription;
	?>
 
 
<?php
include('includes/footer.php');
?>
Merci beaucoup,
dorian.
dorian06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2011, 19h24   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Ajoute une condition verifiant s'il est rempli avant de lancer ton traitement du parain.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2011, 19h30   #3
Invité régulier
 
Inscription : février 2011
Messages : 59
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 59
Points : 6
Points : 6
C'est ce que je comptais faire mais je sais pas comment ^^

SOS sabotage à la réscousseee ! =p
dorian06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2011, 19h58   #4
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Qu'est ce qui te manque ? tu sais quand meme écrire un if
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2011, 20h37   #5
Invité régulier
 
Inscription : février 2011
Messages : 59
Détails du profil
Informations forums :
Inscription : février 2011
Messages : 59
Points : 6
Points : 6
J'ai bien réfléchit bien regardé et je trouve pas comment faire.
dorian06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h19.


 
 
 
 
Partenaires

Hébergement Web