Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/06/2011, 16h50   #1
Futur Membre du Club
 
Femme
futur développeur
Inscription : janvier 2010
Messages : 135
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 22
Localisation : Maroc

Informations professionnelles :
Activité : futur développeur

Informations forums :
Inscription : janvier 2010
Messages : 135
Points : 15
Points : 15
Par défaut POST et GET=> récupérer l'id de page en page

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 :
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 :
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
wikiele est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 21/06/2011, 22h17   #2
Futur Membre du Club
 
Femme
futur développeur
Inscription : janvier 2010
Messages : 135
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 22
Localisation : Maroc

Informations professionnelles :
Activité : futur développeur

Informations forums :
Inscription : janvier 2010
Messages : 135
Points : 15
Points : 15
j'ai trouvé d'ou' vient l'erreur!!!
je dois faire dans le formulaire de la saisie de nouvelles modification
un input avec un type HIDDEN pour récupérer le id de façon cachée !
wikiele est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h56.


 
 
 
 
Partenaires

Hébergement Web