Bonjour, voila j'ai une page (rapport.php) sur laquelle j'ai un formulaire et en dessous un tableau qui liste les données saisie a l'aide de mon formulaire, a coté de chaque donnée de ce tableau je récupère l'id de chaque entrée et ainsi dans un autre formulaire (modifier_rapport.php) j'effectue la modification et renvoi sur (rapport.php) pour mettre à jour la table,
le problème est que j'arrive à faire l'insertion mais pas la modification :
voici mon code :
début de ma page (rapport.php) je déclare les $variable $[POST] si $[POST] = insertion alors je fai un INSERT INTO sinon un update
mon formulaire en bas de la page rapport contient ceci :
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 if (isset($_POST['gestionnaire']) AND isset($_POST['equipe']) AND isset($_POST['date']) AND isset($_POST['poste']) AND isset($_POST['semaine']) AND isset($_POST['montage'])AND isset($_POST['profil']) AND isset($_POST['cde_acier']) AND isset($_POST['casier']) AND isset($_POST['nombre']) AND isset($_POST['wagon'])AND isset($_POST['coullee']) AND isset($_POST['commande'])){ //if(($_POST['gestionnaire'] == "") || ($_POST['equipe'] == "") || ($_POST['date'] == "") || ($_POST['poste'] == "") || ($_POST['semaine'] == "") || ($_POST['montage'] == "") || ($_POST['profil'] == "") || ($_POST['cde_acier'] == "") || ($_POST['casier'] == "") || ($_POST['nombre'] == "") || ($_POST['wagon'] == "") || ($_POST['coullee'] == "") || ($_POST['commande'] == "")){ //header("Location:rapport.php?erreur=empty"); // message en cas de champ non remplis // passe les variables $POST en variables $gestionnaire = $_POST['gestionnaire']; $equipe = $_POST['equipe']; $date = $_POST['date']; $poste = $_POST['poste']; $semaine = $_POST['semaine']; $montage = $_POST['montage']; $profil = $_POST['profil']; $cde_acier = $_POST['cde_acier']; $casier = $_POST['casier']; $nombre = $_POST['nombre']; $wagon = $_POST['wagon']; $coullee = $_POST['coullee']; $commande = $_POST['commande']; if ($_POST['action'] == "insertion"){ // insert into dans raport $add_user = sprintf("INSERT INTO rapport (gestionnaire, equipe, date, poste, semaine, montage, profil, cde_acier, casier, nombre, wagon, coullee, commande) VALUES ('$gestionnaire', '$equipe', '$date', '$poste', '$semaine', '$montage', '$profil', '$cde_acier', '$casier', '$nombre', '$wagon', '$coullee', '$commande')"); mysql_select_db($database_dbprotect, $dbprotect); $result = mysql_query($add_user, $dbprotect) or die(mysql_error()); header("Location:rapport.php?add=ok"); // message comme quoi l'enregistrement à été fait } else { // on fait la requête pour la modification mysql_select_db($database_dbprotect, $dbprotect); $modif_users = "UPDATE rapport SET gestionnaire= '$gestionnaire', equipe= '$equipe', date= '$date', poste= '$poste', semaine= '$semaine', montage= '$montage', profil= '$profil', cde_acier= '$cde_acier', casier = '$casier', nombre= '$nombre', wagon= '$wagon', coullee = '$coullee', commande= '$commande', WHERE id = '" . $_POST['id'] . "'"; $modifier = mysql_query($modif_users, $dbprotect) or die(mysql_error()); header("Location:rapport.php?modif=ok"); // message comme quoi l'enregistrement à été fait } }
afin de faire comprendre au debut de la page qu'il s'agit d'une insertion.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <input name="action" type="hidden" id="action" value="insertion"/>
un peu plus en bas de ma page je récupère l'id de l'entrée pour récupérer les variable et les afficher dans ma page (modifier_rapport.php)
enfin dans (modifier_rapport) j'affiche les données correspandant à l'id dans le form :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <td><center><?php echo '<a href="modifier_rapport.php?idrapport=' . $donnees['id'] . '">'; ?><img src="images/edit.png" alt="Modifier" border="0"></a></center></td>
je pensais avoir tout bon mais en faite non pas de mis a jour, et lorsque je modfie un champ et je valide j'obtiens parfois le message : "Notice: Undefined index: action in C:\Program Files\EasyPHP 3.0\www\pcfour\rapport.php on line 63
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 <?php $modif_rapport = sprintf('SELECT * FROM rapport WHERE id=\'' . $_GET['idrapport'] . '\''); mysql_select_db($database_dbprotect, $dbprotect); $sql = mysql_query($modif_rapport, $dbprotect) or die(mysql_error()); //affichage des données: if( $result = mysql_fetch_object( $sql ) ) { ?> <form name="insertion" action="rapport.php" method="POST"> <input type="hidden" name="id" value="<?php echo($id) ;?>"> <table border="0" align="center" cellspacing="2" cellpadding="2"> <tr align="center"> <td>gestionnaire</td> <td><input type="text" name="gestionnaire" value="<?php echo($result->gestionnaire) ;?>"></td> </tr> <tr align="center"> <td>equipe</td> <td><input type="text" name="equipe" value="<?php echo($result->equipe) ;?>"></td> </tr> <tr align="center"> <td>date</td> <td><input type="text" name="date" value="<?php echo($result->date) ;?>"></td> </tr> <tr align="center"> <td>poste</td> <td><input type="text" name="poste" value="<?php echo($result->poste) ;?>"></td> </tr> <tr align="center"> <td>semaine</td> <td><input type="text" name="semaine" value="<?php echo($result->semaine) ;?>"></td> </tr> <tr align="center"> <td>montage</td> <td><input type="text" name="montage" value="<?php echo($result->montage) ;?>"></td> </tr> <tr align="center"> <td>profil</td> <td><input type="text" name="profil" value="<?php echo($result->profil) ;?>"></td> </tr> <tr align="center"> <td>cde_acier</td> <td><input type="text" name="cde_acier" value="<?php echo($result->cde_acier) ;?>"></td> </tr> <tr align="center"> <td>casier</td> <td><input type="text" name="casier" value="<?php echo($result->casier) ;?>"></td> </tr> <tr align="center"> <td>nombre</td> <td><input type="text" name="nombre" value="<?php echo($result->nombre) ;?>"></td> </tr> <tr align="center"> <td>wagon</td> <td><input type="text" name="wagon" value="<?php echo($result->wagon) ;?>"></td> </tr> <tr align="center"> <td>coullee</td> <td><input type="text" name="coullee" value="<?php echo($result->coullee) ;?>"></td> </tr> <tr align="center"> <td>commande</td> <td><input type="text" name="commande" value="<?php echo($result->commande) ;?>"></td> <tr align="center"> <td colspan="2"><input type="submit" value="modifier"></td> </tr> </table> </form> <?php }//fin if ?>
Erreur de syntaxe près de 'WHERE id = '
Notice: Undefined variable: id in C:\\Program Fil' à la ligne 1"
voila ce que j'ai à la ligne 63 :merci pour votre aide parce que je ne vois d'où viens le problème
Code : Sélectionner tout - Visualiser dans une fenêtre à part if ($_POST['action'] == "insertion"){
Partager