bonjour,
j'ai un fichier "adduser.php" qui contient les informations concernant les utilsateurs : nom, prénoms... , les listes déroulantes. ainsi que trois boutons : sauvegarder , appliquer , annuler.
le code html correspondant au trois boutons est :
une fois le formulaire rempli, et en cliquant sur l'un des boutons sauvegarder ou appliquer le fichier de traitement register_new.php référencé par le action de mon formulaire sera éxécuté, ce fichier vérifie si les champs sont valides et bien remplies et éventuellemnt insérer mes données dans la base de données si tout est ok.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <input type='submit' name='save' value='' class='bt_sauver' /> <input type='submit' name='apply' value='' class='bt_apply'/> <input type='submit' name='cancel' value='' class='bt_cancel'/>
Or, en cliquant sur le bouton appliquer , j'aimerai que la page edit_user.php soit rechargée contenant les valeurs des champs saisis afin de modifier certains champs , si aucune modification n'est nécéssaire , l'utilsateur peut cliquer sur sauvegarder pour ajouter l'enregistrement à la bdd, dans ce cas là c'est la page gestion_user.php qui sera rechargée listant tous les utilsateurs de ma base de données avec quelques informations les concernants.
voici une pertie de mon code :
le fichier register_new.php:
le fichier lister.php permettant d'affihcer mes utilisateurs sous forme de tableau :
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 <?php session_start();// Inclut le fichier de fonctions pour cette application. ?> <html> <head> <style type="text/css"> <!-- .style1 { font-family: Arial, Helvetica, sans-serif; font-size: 10px; color: #999999; } --> </style> </head> <body> <?php include('fonctions.php'); // création des variables aux noms abrégés if(isset($_POST['nom'])) $nom = $_POST['nom']; else $nom=""; if(isset($_POST['prénom'])) $prénom = $_POST['prénom'] ; else $prénom=""; if(isset($_POST['email'])) $email = $_POST['email'] ; else $email=""; if(isset($_POST['login'])) $login = $_POST['login'] ; else $login=""; if(isset($_POST['passwd'])) $passwd = $_POST['passwd']; //md5 sha1 else $passwd=""; if(isset($_POST['passwd2'])) $passwd2 =$_POST['passwd2']; else $passwd2=""; if(isset($_POST['num_téléphone'])) $num_téléphone = $_POST['num_téléphone'] ; else $num_téléphone=""; if(isset($_POST['num_portable'])) $num_portable = $_POST['num_portable'] ; else $num_portable=""; if(isset($_POST['poste_interne'])) $poste_interne = $_POST['poste_interne'] ; else $poste_interne =""; if(isset($_POST['fax'])) $fax = $_POST['fax'] ; else $fax =""; if(isset($_POST['adresse'])) $adresse = $_POST['adresse'] ; else $adresse =""; if(isset($_POST['fk_division'])) $fk_division= $_POST['fk_division'] ; else $fk_division =""; if(isset($_POST['profession'])) $profession= $_POST['profession'] ; else $profession =""; if(isset($_POST['operateur_helpdesk'])) $operateur_helpdesk= $_POST['operateur_helpdesk'] ; else $operateur_helpdesk =""; //if(isset($_POST['loginAttempts'])) $loginAttempts= $_POST['loginAttempts'] ; //else $loginAttempts =""; // Vérifie les formulaires remplis. if((isset($_POST["apply"]))||(isset($_POST["save"]))) { $verif=true; $result = db_connect(); if (!$result) die(mysql_error()); // selection de la base de données $select = mysql_select_db($dbName,$result); if (!$select) die(mysql_error()); $res=mysql_query("select * from hd_utilisateur where username='$login'") or die(mysql_error()); //echo "je suis passé au point x<br />"; $num=mysql_num_rows($res); $res2=mysql_query("select * from hd_utilisateur where email='$email'") or die(mysql_error()); //echo "je suis passé au point x<br />"; $num2=mysql_num_rows($res2); if(empty($_POST['nom'])|| empty($_POST['prénom']) || empty($_POST['email']) || empty($_POST['login']) || empty($_POST['passwd']) || empty($_POST['passwd2']) || empty($_POST['fk_division']) || empty($_POST['operateur_helpdesk']) ) { $verif=false; echo '<font color=#FF0000>Vous devez saisir tous les champs obligatoires </font>'; echo '</br>'; echo '<a href="add_user.php" class=style1 > Cliquez ici pour revenir à la page précédente </a>'; } elseif (!ereg ("[a-zA-Z]", $nom, $regs) or ereg ("[0-9]", $nom, $regs)) { $verif=false; echo "Format de nom invalide : $nom"; echo '</br>'; echo '<a href="add_user.php" class=style1 > Cliquez ici pour revenir à la page précédente </a>'; } elseif (!ereg ("[a-zA-Zéè'à]", $prénom, $regs) or ereg ("[0-9]", $prénom, $regs)) { $verif=false; echo "Format de prenom invalide : $prénom"; echo '</br>'; echo '<a href="add_user.php" class=style1 > Cliquez ici pour revenir à la page précédente </a>'; } // L'adresse e-mail n'est pas valide. elseif (!valid_email($email)) { $verif=false; echo ('Entrez une adresse e-mail valide!!'); echo '</br>'; echo '<a href="add_user.php" class=style1 > Cliquez ici pour revenir à la page précédente </a>'; } elseif($num2 >=1) { $verif=false; echo "Désolé, cet email existe déja choisir une autre adresse S.V.P "; echo '</br>'; echo '<a href="add_user.php" class=style1 > Cliquez ici pour revenir à la page précédente </a>'; } elseif($num >=1) { $verif=false; echo "Désolé, ce login existe déja choisir un autre login S.V.P "; echo '</br>'; echo '<a href="add_user.php" class=style1 > Cliquez ici pour revenir à la page précédente </a>'; } //Les mots de passe ne sont pas identiques. elseif ($passwd != $passwd2) { $verif=false; echo ('Les mots de passes ne correspondent pas'); echo '</br>'; echo '<a href="add_user.php" class=style1 > Cliquez ici pour revenir à la page précédente </a>'; } // Vérifie la longueur du mot de passe. elseif ((strlen($passwd)<6) ||(strlen($passwd) >16)) { $verif=false; echo"Votre mot de passe doit être compris entre 6 et 16 caractères"; echo '</br>'; echo '<a href="add_user.php" class=style1 > Cliquez ici pour revenir à la page précédente </a>'; } // Vérifie si la longueur du nom d'utilisateur est ok. elseif (strlen($login)>16) { $verif=false; echo ('Votre nom d\'utilisateur doit etre inférieur à 16 caractères'); echo '</br>'; echo '<a href="add_user.php" class=style1 > Cliquez ici pour revenir à la page précédente </a>'; } // On vérifi que le téléphone soit bien une chaîne numérique et qu'il comporte 9 chiffres elseif ((isset( $num_téléphone)) && (!is_numeric($num_téléphone) || strlen($num_téléphone) != 9)) { $verif=false; echo"Le téléphone doit être composé de 9 chiffres !"; echo '</br>'; echo '<a href="add_user.php" class=style1 > Cliquez ici pour revenir à la page précédente </a>'; } // On vérifi que le numéro de portable soit bien une chaîne numérique et qu'il comporte 10 chiffres elseif ((isset( $num_portable)) && (!is_numeric($num_portable) || strlen($num_portable) != 10)) { $verif=false; echo"Le téléphone portable doit être composé de 10 chiffres !"; echo '</br>'; echo '<a href="add_user.php" class=style1 > Cliquez ici pour revenir à la page précédente </a>'; } // On vérifi que le poste interne soit bien une chaîne numérique et qu'il comporte 04 chiffres elseif ((isset($poste_interne)) && (!is_numeric($poste_interne) || strlen($poste_interne) != 4)) { $verif=false; echo"Le poste interne doit être composé de 4 chiffres !"; echo '</br>'; echo '<a href="add_user.php" class=style1 > Cliquez ici pour revenir à la page précédente </a>'; } // On vérifi que le fax soit bien une chaîne numérique et qu'il comporte 9 chiffres elseif ((isset($fax)) && (!is_numeric($fax) || strlen($fax) != 9)) { $verif=false; echo"Le fax doit être composé de 9 chiffres !"; echo '</br>'; echo '<a href="add_user.php" class=style1 > Cliquez ici pour revenir à la page précédente </a>'; } elseif(strlen($adresse)>255) { $verif=false; echo "Format d'adresse invalide : elle a dépassé 255 caractères"; echo '</br>'; echo '<a href="add_user.php" class=style1 > Cliquez ici pour revenir à la page précédente </a>'; } elseif (!ereg ("[a-zA-Zéè'à]", $profession, $regs) or ereg ("[0-9]", $profession, $regs)) { $verif=false; echo "Format de profession invalide : $profession"; echo '</br>'; echo '<a href="add_user.php" class=style1 > Cliquez ici pour revenir à la page précédente </a>'; } //Aucun champ n'est vide, on peut enregistrer dans la table else { if($verif) { //* connexion à la base $result = db_connect(); if (!$result) die(mysql_error()); // selection de la base de données $select = mysql_select_db($dbName,$result); if (!$select) die(mysql_error()); // on écrit la requête sql $sql = "INSERT INTO hd_utilisateur (nom, prenom,email, username, passwd,telephone,user_mobile,poste_interne,fax,adresse,fk_division,profession,operateur_helpdesk) VALUES('$nom','$prénom','$email','$login','$passwd','$num_téléphone','$num_portable','$poste_interne','$fax ', '$adresse ','$fk_division','$profession','$operateur_helpdesk')"; // on insère les informations du formulaire dans la table mysql_query($sql) or die(mysql_error()); mysql_close(); // on affiche le résultat pour le visiteur echo 'Vos données ont été ajoutées.'; echo '</br>'; echo '<a href="add_user.php" class=style1 > Cliquez ici pour revenir à la page précédente </a>'; } } } ?> </body> </html>
le fichier html qui dois afficher le tableau :
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 <?php include('connect.php'); //variables $nom=""; $prenom=""; $email=""; $tel=""; $user_mobile=""; $poste_interne=""; $division=""; $tri=""; $tri_by=""; //on récupere les parametres if(isset($_GET["nom"])){$nom=1;} if(isset($_GET["prenom"])){$prenom=1;} if(isset($_GET["email"])){$email=1;} if(isset($_GET["telephone"])){$tel=1;} if(isset($_GET["user_mobile"])){$user_mobile=1;} if(isset($_GET["poste_interne"])){$poste_interne=1;} if(isset($_GET["fk_division"])){$division=1;} if(isset($_GET["tri"])){$tri=$_GET["tri"];} if(isset($_GET["tri_by"])){$tri_by=$_GET["tri_by"];} //on efface le tableau si il existe echo " if(document.getElementById(\"tableau\"))\n {\n document.getElementById(\"contenu\").removeChild(document.getElementById(\"tableau\"));\n }\n \n "; //on créer le span qui contiendra le tableau echo "var ourDiv=document.getElementById('contenu');"; //endroit ou le tableau va etre créé //on créer le nouveau tableau echo "var tableau=document.createElement('table');\n";//création du tableau echo" tableau.border=\"0\";\n tableau.align=\"center\";\n tableau.cellspacing=\"1\";\n tableau.id='tableau';\n tableau.className=\"adminlist\";\n ";//propriétés du tableau //on créer les colonnes titres du tableau selon les parametres echo "var tb=document.createElement('tbody');\n"; //a noter sans ce tbody cela ne fonctionne pas sous IE!! echo"var TR=document.createElement('tr');\n TR.className=\"th\";\n"; if($nom==1) { echo " var TD=document.createElement('TD');\n TD.innerHTML=\"Nom\";\n TR.appendChild(TD);\n "; } if($prenom==1) { echo " var TD=document.createElement('TD');\n TD.innerHTML=\"Prénom\";\n TR.appendChild(TD);\n "; } if($email==1) { echo " var TD=document.createElement('TD');\n TD.innerHTML=\"E-mail\";\n TR.appendChild(TD);\n "; } if($tel==1) { echo " var TD=document.createElement('TD');\n TD.innerHTML=\"Téléphone\";\n TR.appendChild(TD);\n "; } if($user_mobile==1) { echo " var TD=document.createElement('TD');\n TD.innerHTML=\"N° portable\";\n TR.appendChild(TD);\n "; } if($poste_interne==1) { echo " var TD=document.createElement('TD');\n TD.innerHTML=\"Poste interne\";\n TR.appendChild(TD);\n "; } if($division==1) { echo " var TD=document.createElement('TD');\n TD.innerHTML=\"Division\";\n TR.appendChild(TD);\n "; } //on génere l'entete du tableau echo " tb.appendChild(TR);\n "; if($tri_by==1){$order="ASC";}else{$order="DESC";} //on prépare la requete pour récupérer les données $SQL="SELECT * FROM hd_utilisateur ORDER BY $tri $order"; if(!$SQL) die(mysql_error()); $rc = mysql_query($SQL); if (!$rc) die (mysql_error()); $colortr=0; //variable pour changer la couleur des lignes du tableau if(mysql_num_rows($rc) == 0) { echo'Table vide'; //mettre ici un message en cas de table vide... } //listage des saisies des sinistres while($row_user= mysql_fetch_array($rc)) { echo "var TR=document.createElement('tr');\n"; if($colortr==0){echo "TR.className=\"tr_row0\";\n";$colortr=1;}//on change les couleurs ici else {echo "TR.className=\"tr_row1\";\n";$colortr=0;}// à la prochaine ligne une autre couleur if($nom==1) { echo " var TD=document.createElement('TD');\n TD.innerHTML=\"$row_user[nom]\";\n TR.appendChild(TD);\n "; } if($prenom==1) { echo " var TD=document.createElement('TD');\n TD.innerHTML=\"$row_user[prenom]\";\n TR.appendChild(TD);\n "; } if($email==1) { echo " var TD=document.createElement('TD');\n TD.innerHTML=\"$row_user[email]\";\n TD.className=\"email\";\n TR.appendChild(TD);\n "; } if($tel==1) { echo " var TD=document.createElement('TD');\n TD.innerHTML=\"$row_user[telephone]\";\n TR.appendChild(TD);\n "; } if($user_mobile==1) { echo " var TD=document.createElement('TD');\n TD.innerHTML=\"$row_user[user_mobile]\";\n TR.appendChild(TD);\n "; } if($poste_interne==1) { echo " var TD=document.createElement('TD');\n TD.innerHTML=\"$row_user[poste_interne]\";\n TR.appendChild(TD);\n "; } if($division==1) { echo " var TD=document.createElement('TD');\n TD.innerHTML=\"$row_user[fk_division]\";\n TR.appendChild(TD);\n "; } echo "tb.appendChild(TR);\n";//on génére a ligne du tableau avant de reboucler dans la requete } //fermeture et génération du tableau echo "tableau.appendChild(tb);\n ourDiv.appendChild(tableau);\n "; mysql_close(); ?>
en fait dans ce dernier code , seul les champs select m'interesse,je voudrai qu'en cliquant sur le bouton sauvegarder , la tableau s'affiche directement sans avoir recours à cocher les champs qu'on veut afficher .
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 <?php $texte=""; $texte2=""; $requetedelete=""; if (isset($_POST['action_box'])) { $texte = "Vous avez choisi :"; for ($i = 0, $c = count($_POST['action_box']); $i < $c; $i++) { $texte2.= "- <b>" . $_POST['action_box'][$i] . "</b>"; $requetedelete.="<br/><em>DELETE FROM hd_utilisateur WHERE id_user =".$_POST['action_box'][$i]."</em>"; } $texte=$texte.$texte2."<br/>Les requetes seraient :$requetedelete"; } ?> <html> <head> <link type="text/css" rel="stylesheet" href="../administrateur/css/template_css.css"/> <script language="javascript"> <!-- function maketable() { // initialisation des variables var au_moins_un_check_coche =0; var url_action=""; var page="maketable.php"; //ici la page qui générera le tableau //création de l'url qui sera appelé pour la création du tableau en fonction des cases cochées if(document.getElementById('checknom').checked==true){au_moins_un_check_coche =1;url_action=url_action+"&nom=1";} if(document.getElementById('checkprenom').checked==true){au_moins_un_check_coche =1;url_action=url_action+"&prenom=1";} if(document.getElementById('email').checked==true){au_moins_un_check_coche =1;url_action=url_action+"&email=1";} if(document.getElementById('telephone').checked==true){au_moins_un_check_coche =1;url_action=url_action+"&telephone=1";} if(document.getElementById('user_mobile').checked==true){au_moins_un_check_coche =1;url_action=url_action+"&user_mobile=1";} if(document.getElementById('poste_interne').checked==true){au_moins_un_check_coche =1;url_action=url_action+"&poste_interne=1";} if(document.getElementById('fk_division').checked==true){au_moins_un_check_coche =1;url_action=url_action+"&fk_division=1";} if(document.getElementById('select_tri').value!=""){url_action=url_action+"&tri="+document.getElementById('select_tri').value;} if(document.getElementById('select_tri').value!=""){url_action=url_action+"&tri="+document.getElementById('select_tri').value;} if(document.getElementById('select_tri_by').value!=""){url_action=url_action+"&tri_by="+document.getElementById('select_tri_by').value;} if(au_moins_un_check_coche==1)//si au moins un case a été cochée { url_action="?"+url_action; // on prépare l'url var newscr=document.createElement('script');//on génére le script qui va contenir le code généré par la page maketable newscr.setAttribute("src",page+url_action); // on attribut le script généré document.getElementById("scr").appendChild(newscr);//place le script généré qui sera executé } else //si rien n'est selectionné on efface le tableau { if(document.getElementById("tableau")) { document.getElementById("contenu").removeChild(document.getElementById("tableau")); } } } --> </script> </head> <body> <!-- tableau avec cases a cocher pour générer le tableau--> <form name="monform" action="" method="POST"> <table border="1" align="center" cellspacing="0" bordercolor="#000000" id="personnalize_export_datas"> <tr> <td colspan="7">Données à exporter: </td> </tr> <tr> <td><input type="checkbox" id="checknom" name="checknom" value="nom" onClick="maketable();" <?if(isset($_POST["checknom"])){echo " checked";}?> /> Nom </td> <td><input type="checkbox" id="checkprenom" name="checkprenom" value="prenom" onClick="maketable();" <?if(isset($_POST["checkprenom"])){echo " checked";}?>/> Prénom</td> <td><input type="checkbox" id="email" name="email" value="email" onClick="maketable();" <?if(isset($_POST["email"])){echo " checked";}?>/> Adresse email </td> <td><input type="checkbox" id="telephone" name="telephone" value="telephone" onClick="maketable();" <?if(isset($_POST["telephone"])){echo " checked";}?>/> Téléphone</td> <td><input type="checkbox" id="user_mobile" name="user_mobile" value="user_mobile" onClick="maketable();" <?if(isset($_POST["user_mobile"])){echo " checked";}?> /> N°portable </td> <td><input type="checkbox" id="poste_interne" name="poste_interne" value="poste_interne" onClick="maketable();" <?if(isset($_POST["poste_interne"])){echo " checked";}?> /> Poste interne </td> <td><input type="checkbox" id="fk_division" name="fk_division" value="fk_division" onClick="maketable();" <?if(isset($_POST["fk_division"])){echo " checked";}?> /> Division </td> </tr> <tr> <td colspan="5">Trier par : </td> <td colspan="2"> <select name="select_tri" id="select_tri" onChange="maketable();"> <option value="nom" selected>Nom</option> <option value="prenom">prenom</option> <option value="email">email</option> <option value="telephone">telephone</option> <option value="poste_interne">poste interne</option> <option value="fk_division">division</option> </select> <select name="select_tri_by" id="select_tri_by" onChange="maketable();"> <option value="1" selected>Croissant</option> <option value="2">Décroissant</option> </select> </td> </tr> </table> <center><?php echo $texte;?></center> <div id="scr"></div> <div id="contenu"> <span id="tableau"></span> </div> </form> <script language="javascript"> <!-- maketable(); --> </script> </body> </html>
j'ai du mal à gérer ces redirections et à lier les deux derniers codes , alors si quelqu'un a une solution à me proposer , je suis preneuse
merci d'avance.
Partager