Bonjour tout le monde
un problème au niveau d'un script php qui permet de modifier un événement de la table événement:
je m'explique:
1/ une page nommée modifier_evenement.php , qui contient un tableau de tous les événements existant dans la table événement.
chaque entrée de ce tableau présente un événement
j'ai ajouter une colonne dans ce tableau qui présente un lien nommé MODIFIER, pour mettre à l'administrateur de modifier l’événement souhaité.
ce lien permet de se brancher à une page nommée nv_modification.php en envoyant le id de l'événement choisi à être modifier
je donne le script de la page modifier_evenement.php , qui liste les événements:
quand on clique sur modifier pour un événement x, on se branche vers la page
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 <?php /*connecter la bdd*/ try { $bdd=new PDO('mysql:host=localhost;dbname=verts_maroc', 'root', ''); echo "connexion réussie"; } catch(Exception $e) { die('erreur:' .$e->getMessage()); } /*modifier un evenement*/ $req=$bdd->query('select * from evenement'); if($req) { ?> <html> <table border="2px red "> <h1>liste des événements<h1/> <tr> <th>administrateur(login)</th> <th>titre evenement</th> <th>contenu evenement</th> <th>lieu evenement</th> <th>Date evenement</th> <th></th> </tr> <?php while ($entree=$req->fetch()) //tant qu'il y'a une entrée à lire { echo"<tr>"; //1ere ligne echo"<td>"; echo $entree['login']; echo"</td>"; echo"<td>"; echo $entree['titre_evenement']; echo"</td>"; echo"<td>"; echo $entree['contenu_evenement']; echo"</td>"; echo"<td>"; echo $entree['lieu_evenement']; echo"</td>"; echo"<td>"; echo $entree['date_evenement']; echo"</td>"; echo"<td>"; ?> <html> <a href="recuperer.php?titre=<?php echo $entree['titre_evenement'];?>&id=<?php echo $entree['id_evenement'];?>" >modifier</a> </html> <?php echo"</td>"; echo"<tr/>"; } ?> </html> </table> <?php } else echo'table vide'; ?>
nv_modification.php, qui affiche un formulaire pour une nouvelle saisie de l’élément choisi à être modifier.
on saisit les nouvelles modification, on appelle la fonction UPDATE qui va modifier notre événement x, en précisant son id, OR cet id est récupérer juste par $_GET['id'] ,
alors que dans le formulaire de la saisie de nouvelles modifications, on travaille avec POST,
et on me signale une erreur au niveau de la requete UPDATE:
la variable id est indéfinie!!!!!
je donne le script de la page nv_modification.php qui contient le formulaire de la nouvelle saisie de l’événement à modifier:
j'ai utilisé les sessions, mais on permit que garder l'id de l'événement choisi à être modifier le 1er, si on veut modifier un autre événement, on a que l'id de l'ancien événement modifié!!!!
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 <html> <fieldset> <legend>nouvelle saisie </legend> <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" > <!-- style="display:block;width:300px;" pour aligner le formulaire--> <label style="display:block;width:300px;" for="nvtitre">nouveau titre</label> <input type="text" name="nvtitre" id="nvtitre" /><br/> <label style="display:block;width:300px;" for="nvcontenu">nouveau contenu</label> <textarea name="nvcontenu" id="nvcontenu" rows="2" cols="30"> </textarea><br/> <label style="display:block;width:300px;" for="nvlieu">nouveau lieu</label> <input type="text" name="nvlieu" id="nvlieu" /><br/> <label style="display:block;width:300px;" for="date">nouvelle date</label> <input type="date" name="nvdate" id="nvdate" /><br/> <input style="display:block;width:300px; " type="submit" value="valider les modifications" name="BT_valider"/> </form> </fieldset> </html> <!-- script de BT_modifier--> <?php try { $bdd=new PDO('mysql:host=localhost;dbname=verts_maroc', 'root', ''); } catch(Exception $e) { die('erreur:' .$e->getMessage()); } if (isset($_POST['BT_valider'])&& isset($_POST['nvtitre']) && isset($_POST['nvcontenu']) && isset($_POST['nvlieu']) && isset($_POST['nvdate']) ) { /*enregistrer les modifications de l'evenement concerné*/ $req=$bdd->prepare('UPDATE evenement SET titre_evenement=:nvtitre, contenu_evenement=:nvcontenu, lieu_evenement=:nvlieu, date_evenement=:nvdate WHERE id_evenement=:idevenement'); $req->execute(array( 'nvtitre' => $_POST['nvtitre'], 'nvcontenu' => $_POST['nvcontenu'], 'nvlieu' => $_POST['nvlieu'] , 'nvdate' => $_POST['nvdate'] , 'idevenement' => $_GET['id'] )); if ($req) echo "votre modification est prise en compte!"; else echo "problème de requete!!!!"; } ?>
svp, vous avez une solution pour mon problème!!
merci pour votre compréhension
Partager