Bonjour,
J'ai pour but de faire un mini projet en php mais j'avoue que je suis perdu.
projet pour qu'un administrateur puisse voir la liste des comptes (admin ou non) et modifier ou supprimer un en particulier via deux boutons à côté des détails de chaque compte :
- Création de la page gestioncomptes.php (en PJ) accessible depuis la page welcome.php une fois connecté en tant qu'administrateur => formulaire avec 2 boutons modifier et supprimer pour chaque compte et un champ hidden permettant de passer le login du compte à modifier ou à supprimer à la page compte.php
- Modifier la page gestioncomptes.php pour aller sur la page compte.php (pour rappel, attribut "action" de la balise <form>) en méthode post
- Modifier la page compte.php pour gérer les cas modifier et supprimer un compte depuis la page gestioncomptes.php (test d'action sur un des 2 boutons grâce à isset($_POST['actionCompte'] && $_POST['actionCompte'] == "Modifier" ou isset($_POST['actionCompte'] && $_POST['actionCompte'] == "Supprimer" ) => utiliser le code déjà existant de modification et de suppression, initialiser le formulaire avec les valeurs du compte à modifier ($_POST au lieu de $_SESSION) si on arrive depuis la page gestioncomptes.php. Dans le cas de la suppression, rediriger vers la page gestioncomptes.php plutôt que connexion.php
pour le moment j'ai :
pour welcome php
gestion de compte phpCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 <?php session_start(); ?> <!DOCTYPE html> <html> <head> <title>Structures - bienvenue</title> <meta charset="UTF-8"> </head> <body> <form method="post"> <?php echo "Id session = ".session_id()."<br/>"; echo "<pre>"; print_r($_SESSION); echo "</pre>"; echo "Bienvenue "; if (isset($_SESSION['login'])) { echo $_SESSION['login']." !"; echo '<br/><a href="compte.php">Gérer mon compte</a>'; echo '<br/><a href="deconnexion.php">Me déconnecter</a>'; } ?> </form> </body> </html>
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 <?php include('fonctions.php'); ?> <html> <head> <title>Gestion des comptes</title> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> </head> <body> <br/> <?php // ouverture connexion $connection=connexionSQL(); // execution de la requête $res=getGerants($connection); // si faux retourné, erreur lors de l'exécution de la requête // et nous arrêtons le script if (!$res) { die("Erreur de récupération de la liste des comptes en BD"); } echo '<table><tr><td>ID</td><td>LOGIN</td><td>NOM</td><td>PRENOM</td><td>EMAIL</td><td>ISADMIN</td></tr>'; // Affichage des lignes que nous transformerons en liste de cases à cocher... while ($gerant=$res->fetch_assoc()) { echo '<tr><form method="get"><td>'.$gerant['ID'].'</td>'; echo '<td>'.$gerant['LOGIN'].'</td>'; echo '<td>'.$gerant['NOM'].'</td>'; echo '<td>'.$gerant['PRENOM'].'</td>'; echo '<td>'.$gerant['EMAIL'].'</td>'; echo '<td>'.$gerant['ISADMIN'].'</td>'; echo '<td><input type="hidden" name="login" value="'.$gerant['LOGIN'].'"></td>'; echo '<td><input type="submit" name="actionCompte" value="Modifier"></td>'; echo '<td><input type="submit" name="actionCompte" value="Supprimer"></td></form></tr>'; } echo '</table>'; $connection->close(); ?> </body> </html>
compte php :
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 <?php include('fonctions.php'); session_start(); if (isset($_POST['supprimer_compte'])) { $requete = "DELETE FROM GERANT WHERE LOGIN='".$_SESSION['login']."'"; echo $requete."<br/>"; $connexion=connexionSQL(); $res=executerRequete($connexion,$requete); if (!$res) { echo "Erreur lors de la suppression de votre compte<br/>"; $connexion->close(); } else { $connexion->close(); deconnect(); header('Location: ./connexion.php'); } } echo "Id session = ".session_id()."<br/>"; echo "<pre>"; print_r($_SESSION); echo "</pre>"; if (isset($_POST['creer_compte'])) { $connexion=connexionSQL(); $res=getGerant($connexion, $_POST['login']); if ($res->num_rows > 0) { echo 'Login déjà utilisé, veuillez en choisir un autre'; $res->close(); $connexion->close(); } else { if ($_POST['mdp'] == $_POST['confirm_mdp']) { $requete = "INSERT INTO GERANT(ID,LOGIN,NOM,PRENOM,EMAIL,MDP) VALUES(NULL,'".$_POST['login']."','".$_POST['nom']."','".$_POST['prenom']."','".$_POST['email']."','".$_POST['mdp']."')"; echo $requete."<br/>"; $res=executerRequete($connexion,$requete); if (!$res) { echo "Erreur lors de la création de votre compte<br/>"; $connexion->close(); } else { $_SESSION['login']=$_POST['login']; $_SESSION['nom']=$_POST['nom']; $_SESSION['prenom']=$_POST['prenom']; $_SESSION['email']=$_POST['email']; $connexion->close(); header('Location: ./welcome.php'); } } else { echo "Les mots de passe ne correspondent pas<br/>"; } } } if (isset($_POST['modifier_compte'])) { if ($_POST['mdp'] == $_POST['confirm_mdp']) { $requete = "UPDATE GERANT SET NOM='".$_POST['nom']."', PRENOM='".$_POST['prenom']."', EMAIL='".$_POST['email']."', MDP='".$_POST['mdp']."' WHERE LOGIN='".$_SESSION['login']."'"; echo $requete."<br/>"; $connexion=connexionSQL(); $res=executerRequete($connexion,$requete); if (!$res) { echo "Erreur lors de la modification de votre compte<br/>"; $connexion->close(); } else { $_SESSION['nom']=$_POST['nom']; $_SESSION['prenom']=$_POST['prenom']; $_SESSION['email']=$_POST['email']; $connexion->close(); echo "Mise à jour prise en compte<br/>"; } } else { echo "Les mots de passe ne correspondent pas<br/>"; } } ?> <!DOCTYPE html> <html> <head> <title>Structures - mon compte</title> <meta charset="UTF-8"> </head> <body> <form method="post"> <table> <tr> <td>Login</td> <td><input required type="text" name="login" value="<?php valueInputType("login"); echo '"'; if (isset($_SESSION['login'])) { echo ' disabled'; } ?>> </td> </tr> <tr> <td>Nom</td> <td><input required type="text" name="nom" value="<?php valueInputType("nom"); ?>"> </td> </tr> <tr> <td>Prénom</td> <td><input required type="text" name="prenom" value="<?php valueInputType("prenom"); ?>"> </td> </tr> <tr> <td>Email</td> <td><input required type="email" name="email" value="<?php valueInputType("email"); ?>"> </td> </tr> <tr> <td>Mot de passe</td> <td> <input required type="password" name="mdp" value=""> </td> </tr> <tr> <td>Confirmation mot de passe</td> <td> <input required type="password" name="confirm_mdp" value=""> </td> </tr> </table> <?php if (!isset($_SESSION['login'])) echo '<input type="submit" name="creer_compte" value="Créer">'; else { echo '<input type="submit" name="modifier_compte" value="Modifier">'; echo '<input type="submit" name="supprimer_compte" value="Supprimer">'; echo '<br/><a href="deconnexion.php">Me déconnecter</a>'; } ?> </form> <?php ?> </body> </html>
Je pense pas que ce soit bien compliqué mais j'avoue être perdu si une personne peu m'aider ?
Merci pour votre aide
Cordialement