Bonjour,
j'ai un souci avec mon formulaire de modification de données.
Je voudrai changer l'image de la fiche et valider cette modification en base. Or, il semble ne pas réussir à récupérer l'id.
J'ai tenté avec deux méthodes, la première en allant tout mettre dans le même fichier (formulaire et validation) ou en externalisant la vérification.
En local et sur le serveur, je n'ai pas les mêmes résultats.
Bref voici le page de modification
Au cas ou je mets aussi la page de mise à jour que j'utilisais.
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
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265 <? include('header.php');?><!-- header commun --> <div id="main-content"> <div id="main-col" class="col-b"> <div class="breadcrumb"> <strong>You are here: </strong> <a href="index.php">Administration</a> <span> / </span> <span class="current-page">Mise à jour d'une fiche</span> <?php // requete pour les personnages // On place dans une variable l'id transmit dans l'url require("../config.php"); if(isset($_POST['majid'])) { $idmaj = $_POST['majid']; $nickFR = $_POST['nickFR']; $nickGB = $_POST['nickGB']; $nom = $_POST['nom']; $univers = $_POST['univers']; $pouvoirs = $_POST['pouvoirs']; $shortdesc = $_POST['shortdesc']; $apparition = (htmlentities ($_POST['apparition'])); $situation = (htmlentities ($_POST['situation'])); $equipe = (htmlentities ($_POST['equipe'])); $description = $_POST['description']; $statut = $_POST['statut']; $yeux = $_POST['yeux']; $hair = $_POST['hair']; $poids = $_POST['poids']; $taille = $_POST['taille']; $email = $_POST['email']; $pseudo = $_POST['pseudo']; $datela = date('Y-m-d-g:i'); $avatar_maj = $_POST['avatar_maj']; //--->>> upload de la tof //si fichier à uploader if ($avatar_maj != NULL) { if (!empty($_FILES['avatar_maj']['tmp_name']) AND is_uploaded_file($_FILES['avatar_maj']['tmp_name'])) { //vérif. poids du fichier if(filesize($_FILES['avatar_maj']['tmp_name'])>30000) { echo("Erreur : taille supérieure à 30ko!"); } else if(filesize($_FILES['avatar_maj']['tmp_name'])<30000) { //Vérif type de fichier list($largeur, $hauteur, $type, $attr)=getimagesize($_FILES['avatar_maj']['tmp_name']); //Si pas Jpeg if($type !=2 ) { echo("Erreur : ce n'est pas un fichier JPEG!"); } //Sinon : OK else if($type===2) { $filename = '../images/avatars/'.$idmaj.'.jpg'; if(file_exists($filename)) { echo 'Suppression de '.$filename.'<br/>'; @unlink($filename); } //on bouge le fichier sur le serveur if(move_uploaded_file($_FILES['avatar_maj']['tmp_name'], $filename)) { echo 'Image uploadée sur le serveur<br/>'; echo("<br /><div align=\"center\" class=\"tableau\"><b>Image uploadée sur le serveur</b><br/>") ; if(mysql_query("UPDATE heros SET image = '".mysql_real_escape_string($idmaj)."'WHERE id ='".mysql_real_escape_string($idmaj)."'")) { echo 'Base de données mise à jour<br/>'; echo("<br /><div align=\"center\" class=\"tableau\"><b>Base de données mise à jour</b><br/>") ; } else { echo 'Erreur lors de la modification de la base de données <br/>'; } } else { echo 'Erreur lors de l\'upload de l\'image<br/>'; } } } } } //-->> fin upload de la tof $sqlmaj = "UPDATE heros SET heros.nickFR='$nickFR', heros.nickGB='$nickGB', heros.nom='$nom', heros.univers='$univers', heros.apparition='$apparition', heros.situation='$situation', heros.equipe='$equipe', heros.pouvoirs='$pouvoirs', heros.shortdesc='$shortdesc', heros.description='$description',heros.statut='$statut',heros.yeux='$yeux',heros.hair='$hair',heros.poids='$poids',heros.taille='$taille',heros.email='$email',heros.pseudo='$pseudo',heros.date='$datela' WHERE heros.id='$idmaj'" ; echo("<br /><div align=\"center\" class=\"tableau\"><b>Fiche modifiée,</b><br/><b>Mise à jour effectuée le : ".$datela."</b><br /><br />id perso modifié : ".$idmaj."<br /><br /></div><br/>") ; echo("<br /><div align=\"center\"><a href=\"maj-fiche.php\">Retour liste des personnages</a></div><br/>") ; mysql_query($sqlmaj) or die('Erreur dans la requête '.mysql_error().'<br /><br />Requête utilisée : '.$sqlmaj.'<br />'); } else if(isset($_GET['id'])) { $idperso = $_GET['id']; $sql = " SELECT * FROM heros WHERE heros.id=' ".mysql_real_escape_string($idperso)." ' " ; $req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error()); $data = mysql_fetch_assoc($req); echo("<form action=\"maj-form.php\" method=\"post\" name=\"form1\" id=\"form1\" enctype=\"multipart/form-data\" onsubmit=\"return ValidationFormulaire();\">"); ?> <input type="hidden" name="valide" value="1" /> <p class="Style1">Les champs avec * sont obligatoires</p> <?php echo 'Fiche du personnage : '.$data['nickFR'].' - <a href=Del_Hero.php?id='.$data['id'].' target="_blank" width="150" height="150">[SUPPRIMER LA FICHE]</a>'; ?> <table width="486" border="0" cellspacing="3"> <tr> <td colspan="2"><strong>Identité du personnage </strong></td> </tr> <tr> <td>Pseudo français<span class="LV_validation_message LV_invalid">*</span> : </td> <td><input name="nickFR" type="text" size="30" id="f1" class="LV_invalid_field" value="<? echo("".$data['nickFR'].""); ?>"/> <script type="text/javascript"> var f1 = new LiveValidation('f1'); f1.add(Validate.Presence); </script> </td> </tr> <tr> <td>Pseudo anglais : </td> <td> <input name="nickGB" type="text" size="30" id="f2" class="LV_invalid_field" value="<? echo("".$data['nickGB'].""); ?>"/> <span class="LV_validation_message LV_invalid">- Obligatoire</span> <script type="text/javascript"> var f2 = new LiveValidation('f2'); f2.add(Validate.Presence); </script> </td> </tr> <tr> <td>Nom civil : </td> <td><input name="nom" type="text" size="30" id="f3" class="LV_invalid_field" value="<? echo("".$data['nom'].""); ?>"/> <span class="LV_validation_message LV_invalid">- Obligatoire</span> <script type="text/javascript"> var f2 = new LiveValidation('f3'); f2.add(Validate.Presence); </script> </td> </tr> <tr> <td>Couleur des yeux : </td> <td><input name="yeux" type="text" size="15" value="<? echo("".$data['yeux'].""); ?>"/></td> </tr> <tr> <td>Couleur des cheveux : </td> <td><input name="hair" type="text" size="15" value="<? echo("".$data['hair'].""); ?>"/></td> </tr> <tr> <td>Poids du personnage : </td> <td><input name="poids" type="text" size="3" value="<? echo("".$data['poids'].""); ?>"/>kg</td> </tr> <tr> <td>Taille du personnage </td> <td><input name="taille" type="text" size="3" value="<? echo("".$data['taille'].""); ?>"/>cm </td> </tr> <tr> <td>Avatar (jpeg, 30ko) : </td> <td><input type=file name="avatar_maj" id="verif_data"> <span>Obligatoire</span></span> </td> </tr> <tr> <td colspan="2"> </td> </tr> <tr> <td colspan="2"><strong>Infos utilisateurs </strong></td> </tr> <tr> <td>Pseudo : </td> <td><input name="pseudo" type="text" size="30" id="f13" class="LV_invalid_field" value="<? echo("".$data['pseudo'].""); ?>"/> <span class="LV_validation_message LV_invalid">- Obligatoire</span> <script type="text/javascript"> var f13 = new LiveValidation('f13'); f13.add(Validate.Presence); </script> </td> </tr> <tr> <td>Email : : </td> <td><input name="email" type="text" size="30" id="f14" class="LV_invalid_field" value="<? echo("".$data['email'].""); ?>"/> <span class="LV_validation_message LV_invalid"> - Obligatoire</span> <script type="text/javascript"> var f14 = new LiveValidation('f14'); f14.add(Validate.Presence); </script> </td> </tr> <tr> <td colspan="2"> </td> </tr> <tr> <td colspan="2"><strong>Détails sur le personnage </strong></td> </tr> <tr> <td><span class="Style1">Editeur / univers : </span></td> <td> <select name="univers" id="univers"> <?php echo("<option value=\"".$data['univers']."\">".$data['univers']."</option><option value=\"\">-------------</option>"); $query_edit = mysql_query("Select nom_edit from editeurs ORDER BY nom_edit"); while($optionv = mysql_fetch_assoc($query_edit)) { echo ("<option value=\"".$optionv['nom_edit']."\">".$optionv['nom_edit']."</option>"); } ?> </select></td> </tr> <tr> <td>Année d'apparition : </td> <td><input name="apparition" type="text" id="apparition" size="4" value="<? echo("".$data['apparition'].""); ?>"/></td> </tr> <tr> <td><span class="Style1">Situation : </span></td> <td><select name="situation"> <option value="EN VIE">EN VIE</option> <option value="MORT">MORT</option> </select></td> </tr> <tr> <td>Equipe actuelle : </td> <td><input name="equipe" type="text" id="equipe" size="30" value="<? echo("".$data['equipe'].""); ?>"/> <span class="LV_validation_message LV_invalid">Obligatoire</span> <script type="text/javascript"> var f1 = new LiveValidation('f1'); f1.add(Validate.Presence); </script> </td> </tr> <tr> <td colspan="2"><span class="LV_validation_message LV_invalid">Pouvoirs : <br /> </span> <textarea name="pouvoirs" cols="58" rows="3" id="area1"><? echo("".$data['pouvoirs'].""); ?></textarea> </td> </tr> <tr> <td colspan="2"><span class="LV_validation_message LV_invalid">Résumé :<br /> </span> <textarea name="shortdesc" cols="58" rows="3" id="area3"><? echo("".$data['shortdesc'].""); ?></textarea> </td> </tr> <tr> <td colspan="2"><p><span class="LV_validation_message LV_invalid">Historique : </span><br /> <textarea name="description" cols="58" rows="4" id="area1"><? echo("".$data['description'].""); ?></textarea> </p> </td> </tr> </table> <p align="center"><br /> <input type="hidden" name="majid" value="<? echo intval($idperso); ?>" /> <input type="submit" value="Validez votre fiche" /> </p> </form> <?php } else { echo("ya pas d'id!"); } ?> </div><!--main-col--> </div><!--main-col--> <? include('leftsidebarEditeur.php');?><!-- siderbar gauche commun --> <div class="clear"></div> </div><!--main-content--> <? include('bottom.php');?><!-- header commun -->
Merci de votre aide, car là je tourne chèvre.
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
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269 <? include('header.php');?><!-- header commun --> <div id="main-content"> <div id="main-col" class="col-b"> <div class="breadcrumb"> <strong>You are here: </strong> <a href="index.php">Administration</a> <span> / </span> <span class="current-page">Modifier un héro</span> </div><!--breadcrumb--> <div id="respond"> <p> <script type="text/javascript" src="../js/livevalidation.js"></script> <h2>Ajouter un HERO sur le site</h2> <!-- Début div liste persos --> <?php // requete pour les personnages require("../config.php"); if(isset($_GET['majid'])) { $idmaj = $_REQUEST['majid']; $nickFR = $_POST['nickFR']; $nickGB = $_POST['nickGB']; $nom = $_POST['nom']; $avatar_maj = $_POST['avatar_perso']; $univers = $_POST['univers']; $pouvoirs = $_POST['pouvoirs']; $shortdesc = $_POST['shortdesc']; $apparition = $_POST['apparition']; $situation = $_POST['situation']; $equipe = $_POST['equipe']; $description = $_POST['description']; $yeux = $_POST['yeux']; $hair = $_POST['hair']; $poids = $_POST['poids']; $taille = $_POST['taille']; $email = $_POST['email']; $pseudo = $_POST['pseudo']; $datela = date('Y-m-d-g:i'); //--->>> upload de la tof //si fichier à uploader if ($avatar_maj != NULL) { if (!empty($_FILES['avatar_maj']['tmp_name']) AND is_uploaded_file($_FILES['avatar_maj']['tmp_name'])) { //vérif. poids du fichier if(filesize($_FILES['avatar_maj']['tmp_name'])>30000) { echo("Erreur : taille supérieure à 30ko!"); } else if(filesize($_FILES['avatar_maj']['tmp_name'])<30000) { //Vérif type de fichier list($largeur, $hauteur, $type, $attr)=getimagesize($_FILES['avatar_maj']['tmp_name']); //Si pas Jpeg if($type !=2 ) { echo("Erreur : ce n'est pas un fichier JPEG!"); } //Sinon : OK else if($type===2) { $filename = '../images/avatars/'.$idmaj.'.jpg'; if(file_exists($filename)) { echo 'Suppression de '.$filename.'<br/>'; @unlink($filename); } //on bouge le fichier sur le serveur if(move_uploaded_file($_FILES['avatar_maj']['tmp_name'], $filename)) { echo 'Image uploadée sur le serveur<br/>'; echo("<br /><div align=\"center\" class=\"tableau\"><b>Image uploadée sur le serveur</b><br/>") ; if(mysql_query("UPDATE heros SET image = '".mysql_real_escape_string($idmaj)."'WHERE id ='".mysql_real_escape_string($idmaj)."'")) { echo 'Base de données mise à jour<br/>'; echo("<br /><div align=\"center\" class=\"tableau\"><b>Base de données mise à jour</b><br/>") ; } else { echo 'Erreur lors de la modification de la base de données <br/>'; } } else { echo 'Erreur lors de l\'upload de l\'image<br/>'; } } } } } //-->> fin upload de la tof $sqlmaj = "UPDATE heros SET heros.nickFR='$nickFR', heros.nickGB='$nickGB', heros.nom='$nom', heros.univers='$univers', heros.apparition='$apparition', heros.situation='$situation', heros.equipe='$equipe', heros.pouvoirs='$pouvoirs', heros.shortdesc='$shortdesc', heros.description='$description', heros.yeux='$yeux',heros.hair='$hair',heros.poids='$poids',heros.taille='$taille',heros.email='$email',heros.pseudo='$pseudo',heros.date='$datela' WHERE heros.id='$idmaj'" ; echo("<br /><div align=\"center\" class=\"tableau\"><b>Fiche modifiée,</b><br/><b>Mise à jour effectuée le : ".$datela."</b><br /><br />id perso modifié : ".$idmaj."<br /><br /></div><br/>") ; echo("<br /><div align=\"center\"><a href=\"Liste_Hero.php\">Retour liste des personnages</a></div><br/>") ; mysql_query($sqlmaj) or die('Erreur dans la requête '.mysql_error().'<br /><br />Requête utilisée : '.$sqlmaj.'<br />'); } else if(isset($_GET['id'])) { $idperso = $_GET['id']; $sql = " SELECT * FROM heros WHERE heros.id=' ".mysql_real_escape_string($idperso)." ' " ; $req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error()); $data = mysql_fetch_assoc($req); echo("<form action=\"maj-form.php?majid=".intval($idperso)."\" method=\"post\" name=\"form1\" id=\"form1\" enctype=\"multipart/form-data\" onsubmit=\"return ValidationFormulaire();\">"); ?> <script type="text/javascript"> //<![CDATA[ bkLib.onDomLoaded(function() { nicEditors.allTextAreas() }); //]]> </script> <input type="hidden" name="valide" value="1" /> <p class="Style1">Les champs avec * sont obligatoires</p> <table width="486" border="0" cellspacing="3"> <tr> <td colspan="2"><strong>Identité du personnage </strong></td> </tr> <tr> <td>Pseudo français<span class="LV_validation_message LV_invalid">*</span> : </td> <td><input name="nickFR" type="text" size="30" id="f1" class="LV_invalid_field"/> <script type="text/javascript"> var f1 = new LiveValidation('f1'); f1.add(Validate.Presence); </script> </td> </tr> <tr> <td>Pseudo anglais : </td> <td> <input name="nickGB" type="text" size="30" id="f2" class="LV_invalid_field" value="<? echo("".$data['nickGB'].""); ?>"/> <span class="LV_validation_message LV_invalid">- Obligatoire</span> <script type="text/javascript"> var f2 = new LiveValidation('f2'); f2.add(Validate.Presence); </script> </td> </tr> <tr> <td>Nom civil : </td> <td><input name="nom" type="text" size="30" id="f3" class="LV_invalid_field" value="<? echo("".$data['nom'].""); ?>"/> <span class="LV_validation_message LV_invalid">- Obligatoire</span> <script type="text/javascript"> var f2 = new LiveValidation('f3'); f2.add(Validate.Presence); </script> </td> </tr> <tr> <td>Couleur des yeux : </td> <td><input name="yeux" type="text" size="15" value="<? echo("".$data['yeux'].""); ?>"/></td> </tr> <tr> <td>Couleur des cheveux : </td> <td><input name="hair" type="text" size="15" value="<? echo("".$data['hair'].""); ?>"/></td> </tr> <tr> <td>Poids du personnage : </td> <td><input name="poids" type="text" size="3" value="<? echo("".$data['poids'].""); ?>"/>kg</td> </tr> <tr> <td>Taille du personnage </td> <td><input name="taille" type="text" size="3" value="<? echo("".$data['taille'].""); ?>"/>cm </td> </tr> <tr> <td>Avatar (jpeg, 30ko) : </td> <td><input type=file name="avatar_maj" id="verif_data"> <span>Obligatoire</span></span> </td> </tr> <tr> <td colspan="2"> </td> </tr> <tr> <td colspan="2"><strong>Infos utilisateurs </strong></td> </tr> <tr> <td>Pseudo : </td> <td><input name="pseudo" type="text" size="30" id="f13" class="LV_invalid_field" value="<? echo("".$data['pseudo'].""); ?>"/> <span class="LV_validation_message LV_invalid">- Obligatoire</span> <script type="text/javascript"> var f13 = new LiveValidation('f13'); f13.add(Validate.Presence); </script> </td> </tr> <tr> <td>Email : : </td> <td><input name="email" type="text" size="30" id="f14" class="LV_invalid_field" value="<? echo("".$data['email'].""); ?>"/> <span class="LV_validation_message LV_invalid"> - Obligatoire</span> <script type="text/javascript"> var f14 = new LiveValidation('f14'); f14.add(Validate.Presence); </script> </td> </tr> <tr> <td colspan="2"> </td> </tr> <tr> <td colspan="2"><strong>Détails sur le personnage </strong></td> </tr> <tr> <td><span class="Style1">Editeur / univers : </span></td> <td> <select name="univers" id="univers"> <?php echo("<option value=\"".$data['univers']."\">".$data['univers']."</option><option value=\"\">-------------</option>"); $query_edit = mysql_query("Select nom_edit from editeurs ORDER BY nom_edit"); while($optionv = mysql_fetch_assoc($query_edit)) { echo ("<option value=\"".$optionv['nom_edit']."\">".$optionv['nom_edit']."</option>"); } ?> </select></td> </tr> <tr> <td>Année d'apparition : </td> <td><input name="apparition" type="text" id="apparition" size="4" value="<? echo("".$data['apparition'].""); ?>"/></td> </tr> <tr> <td><span class="Style1">Situation : </span></td> <td><select name="situation"> <option value="EN VIE">EN VIE</option> <option value="MORT">MORT</option> </select></td> </tr> <tr> <td>Equipe actuelle : </td> <td><input name="equipe" type="text" id="equipe" size="30" value="<? echo("".$data['equipe'].""); ?>"/> <span class="LV_validation_message LV_invalid">Obligatoire</span> <script type="text/javascript"> var f1 = new LiveValidation('f1'); f1.add(Validate.Presence); </script> </td> </tr> <tr> <td colspan="2"><span class="LV_validation_message LV_invalid">Pouvoirs : <br /> </span> <script type="text/javascript" src="js/nicEdit.js"></script> <script type="text/javascript"> bkLib.onDomLoaded(function() { nicEditors.allTextAreas() }); </script> <textarea name="pouvoirs" cols="58" rows="3" id="area1"><? echo("".$data['pouvoirs'].""); ?></textarea> </td> </tr> <tr> <td colspan="2"><span class="LV_validation_message LV_invalid">Résumé :<br /> </span> <textarea name="shortdesc" cols="58" rows="3" id="area3"><? echo("".$data['shortdesc'].""); ?></textarea> </td> </tr> <tr> <td colspan="2"><p><span class="LV_validation_message LV_invalid">Historique : </span><br /> <textarea name="description" cols="58" rows="4" id="area1"><? echo("".$data['description'].""); ?></textarea> </p> </td> </tr> </table> <p align="center"><br /> <input type="submit" value="Validez votre fiche" /> </p> </form> <?php } else { echo("ya pas d'id!"); } ?> </div><!--respond--> </div><!--main-col--> <? include('leftsidebarEditeur.php');?><!-- siderbar gauche commun --> <div class="clear"></div> </div><!--main-content--> <? include('bottom.php');?><!-- header commun -->
De plus j'ai aussi des erreurs d'échappement je pense, car il semble refuser les apostrophes.
MErci encore.
Partager