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 05/04/2011, 19h07   #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 Offre crédits à l'inscription

Salut à tous,

Je voudrais que quand un nouvel utilisateur s'inscrit sa lui ajoute 100 crédits sur son compte (table nbrCredits).
J'ai mis par défaut 100 dans la table "nbrCredits" mais sa n'a pas marché sa reste à 0 donc qui aurait un autre moyen SVP ?

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
179
180
<?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 (empty($_POST['parrain'])) 
		{
		   $erreur[] = 'Le champ "Pseudo du parrain" doit être rempli.';
		}
 
 
	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 = 100; // 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."','','')");	
 
                                                        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>ATTENTION :</b></legend><br>
						Il faut obligatoirement le pseudo du <b>parrain</b>, c'est à dire le pseudo de celui qui vous a fais connaître Weepass.net pour pouvoir s'inscrire.<br><br><i>Tous les champs sont obligatoires pour finaliser l'inscription !</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,
dorian.
dorian06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2011, 19h23   #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
Met directement la valeur dans ta requête d'insertion.

Au passage
Citation:
ça ajoute
ça marche
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2011, 19h55   #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
Peut-tu mieux m’expliquer :/ ?
dorian06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2011, 19h59   #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
actuellement ton insertion d'un nouvel utilisateur c'est ça :
Code :
$insert = mysql_query("INSERT INTO users VALUES ('','".$pseudo."','".$mdp."','".$email."','".$ip."','','')");
Mets-y le 100.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2011, 20h04   #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
Sa ?

Code :
1
2
$insert = mysql_query("INSERT INTO users VALUES ('','".$pseudo."','".$mdp."','".$email."','".$ip."','','')");
mysql_query("UPDATE users SET nbrCredits = nbrCredits + $creditsAjouter WHERE pseudo = '".mysql_real_escape_string($_POST['pseudo'])."'");
dorian06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2011, 20h07   #6
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
ça pas sa

Non directement dans ta requête INSERT
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2011, 20h37   #7
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
Je vois pas vraiment comment faire, j'ai fais un truc mais c'est pas térrible :

Code :
$insert = mysql_query("INSERT INTO users VALUES ('','".$pseudo."','".$mdp."','".$email."','".$ip."','"nbrCredits + $creditsAjouter"','','')");
dorian06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2011, 20h51   #8
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
Pourquoi tu n'écris pas directement 100 ?
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2011, 20h53   #9
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
Comme sa ?

Code :
$insert = mysql_query("INSERT INTO users VALUES ('','".$pseudo."','".$mdp."','".$email."','".$ip."','"nbrCredits + 100"','','')");
dorian06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2011, 20h59   #10
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
Citation:
ça pas sa
Non directement 100, sans guillemets, tout nu, délicatement saisi entre deux virgules.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2011, 21h01   #11
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 fais sa et sa me dit :

Code :
1
2
3
4
Il y a 1 erreurs détectées.
Liste des erreurs :
Une erreur technique s'est produite pendant votre inscription, veuillez réessayer
Merci de re-remplir le formulaire.
Voici ce que je fais :

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
179
180
<?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 (empty($_POST['parrain'])) 
		{
		   $erreur[] = 'Le champ "Pseudo du parrain" doit être rempli.';
		}
 
 
	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 = 100; // 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,'','')");	
 
                                                        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>ATTENTION :</b></legend><br>
						Il faut obligatoirement le pseudo du <b>parrain</b>, c'est à dire le pseudo de celui qui vous a fais connaître Weepass.net pour pouvoir s'inscrire.<br><br><i>Tous les champs sont obligatoires pour finaliser l'inscription !</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');
?>
dorian06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2011, 21h26   #12
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
Tu devrais revoir les bases de la syntaxe SQL.

Code :
INSERT INTO table (champ1, champ2, champ3) VALUES (valeur1, valeur2, valeur3)

ou
Code :
INSERT INTO table (valeur1, valeur2, valeur3)
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2011, 21h33   #13
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'arrive toujours pas, je vois pas comment faire aide moi je t'en pris :/
dorian06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2011, 15h55   #14
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
Résolut c'est bon !
dorian06 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2011, 16h02   #15
Membre éprouvé
 
Avatar de radicaldreamer
 
Homme Guillaume
Développeur Web
Inscription : décembre 2007
Messages : 353
Détails du profil
Informations personnelles :
Nom : Homme Guillaume
Âge : 21
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : décembre 2007
Messages : 353
Points : 473
Points : 473
ça, pas sa.

\o/ jérigolé
__________________
Si ce que tu as à dire n'est pas plus beau que le silence, alors tais toi.

- Pensez à voter pour les messages qui vous ont été utiles ainsi que de mettre
radicaldreamer est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h58.


 
 
 
 
Partenaires

Hébergement Web