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:
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'];?>&amp;id=<?php echo $entree['id_evenement'];?>" >modifier</a>
		
		
		</html>
		
<?php	
		echo"</td>";
	 echo"<tr/>";
}
?>
</html>
</table>
<?php
	}
	else
		echo'table vide';
		

?>
quand on clique sur modifier pour un événement x, on se branche vers la page
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:
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!!!!";
			
		}
		
	
		
	
?>
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é!!!!


svp, vous avez une solution pour mon problème!!

merci pour votre compréhension