Bonjour,
merci de me signaler si je ne suis pas sur le bon forum
le problème : un paramètre est passé de la page liste.php5 à la page form_modif.php5.
j'ai affiché des témoins pour vérifier la bonne transmission. les paramètres sont bien passés comme on le voit à l'affichage de la page form_modif. (ecran 1.jpg)
lorsque je valide le formulaire (page form_modif) l'affichage est celui de
ecran 2.jpg. On est manifestement repassé par le "else" de la condition
if(isset($_GET["idComposant"])) ce qui est étrange car ecran 1.jpg montre que la condition est vérifiée.
le fichier liste.php5
Code php : 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 <?php $query = "SELECT * FROM `itemcomp`"; $base = connect(); $requete = mysql_query( $query, $base ) or die("Erreur dans la requête $query : <br/>".mysql_error($base)); while ($result = mysql_fetch_object($requete)) { ?> <tr> .................... <td> <a href="form_modif.php5?idComposant=<?php echo "$result->ID" ;?>">M</a> </td> ....... etc ......... </tr> <?php } mysql_close($base); ?>
le fichier form_modif.php5
Code php : 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
78
79
80
81
82
83
84
85
86
87 <div> <?php $id=0; if(isset($_GET["idComposant"])) { echo 'id= '.$id. ' avant GET </br>'; $id = $_GET["idComposant"] ; //récupération de la variable d'URL pour savoir quel enregistrement modifier echo 'idComposant bien reçu'. '</br>'; echo 'id= '.$id; } else { echo "idComposant NON reçu "; echo $id; } $base = connect(); // connexion à la base composants $sql = "SELECT * FROM itemcomp WHERE ID = $id "; // requete de selection de l'enregistrement $requete = mysql_query ($sql) ; // execution de la requete if( $result = mysql_fetch_object( $requete ) ) { ?> <form class= "formulaire1" name="modification" method="post" action="form_modif.php5"> <h2><font color="blue">MODIFICATION ARTICLE </font></h2> <input type="hidden" name="ident" value="<?php echo ($id) ;?>"> <table border=0> <tr><td>Référence</td> <td><input type="text" name="part" value = "<?php echo ($result->PARTNUM); ?>" size='30'></td> </tr> <tr><td>Datasheet</td> <td><input type="text" name="datasheet" value = "<?php echo ($result->DATASHEET); ?>" size='30'></td> </tr> <tr><td>Fabricant</td> <!------------ combo box fabricant -------------> <td> <select name='fabricant'>"; <option><?php echo ($result->FAB); ?></option> <?php ListeOptions('fabricant', 'tablefabricants', $base); ?> </select> </td> </tr> ............. etc ........... ............................. <!-- et le bouton valider --> <tr> <td colspan=2><input type="submit" name="valider" value="OK"></td> </tr> </table> </form> <?php if (isset ($_POST['valider'])) { // récupère les valeurs entrées par l'utilisateur : $id=$_POST['ident']; $part=$_POST['part']; $data=$_POST['datasheet']; .............. etc ......... ............................ // prépare la commande sql d'insertion $sql = "UPDATE itemcomp SET PARTNUM= '$part', DATASHEET= '$data', FAB= '$fab', ......... etc .......... ........................ WHERE ID = $id " ; /* lance la commande (mysql_query) */ $requete = mysql_query ($sql) or die ('Erreur SQL !'.$sql.'<br />'.mysql_error()); mysql_close(); // ferme la connexion base if ($requete) echo'<script> self.close(); </script>'; else echo 'échec modification'. '</br>'; } } ?> <!-- parenthese de fin du test "if( $result = ..." --> </div>
merci pour vos réponses
Partager