Bonjour à tous,
j'envoie ce message sur un problème que je rencontre sur une transmission de données - à priori simple - mais que je n'arrive pas à finaliser (depuis quelques jours déjà) ... Une faute d'orthographe sur ma transmission de formulaire ??
En résumé : je récupère des données sur deux tables (via un inner joint) et les regroupe dans un formulaire que je dois envoyer via une méthode POST.
Jusque là tout va bien tout s'affiche dans mon formulaire de départ et lorsque je clique sur mon submit le message d'erreur de mon insert s'affiche et rien n'est transmis à la base de données ...
Une bonne âme verrait-elle d'où vient mon problème ?
Voici le code de mon formulaire de départ :
voici le code de récupération des données pour insertion dans une troisième base de données :
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 <meta charset="utf-8"> <?php include 'header_01.php'; ?> <div class="container"> <div class="row"> <div class="span3"> <?php include 'col-left-co.php'; ?> </div> <div class="span9"> <h2>Envoi en production</h2> <form method="POST" action="../../modele/prod/traitement_production_en_cours.php"> <table class="table table-hover table-condensed table-responsive "> <thead> <tr> <th>Références</th> <th>Nom client</th> <th>Matière</th> <th>Référence Matériau</th> <th>Descriptif</th> <th>NB panneau(x) réf.</th> <th>Quantité à produire</th> </tr> </thead> <?php include_once('../../controleur/prod/prepa_prod.php'); foreach($productions as $production) { ?> <tbody> <tr> <td><strong><?php echo $production['Reference']; ?></td> <td><?php echo $production['Nom_Client']; ?></td> <td><?php echo $production['Nom_Materiau']; ?></td> <td><?php include_once('../../modele/connexion_DB.php'); $champcategorie='<select name="Ref_Materiau">' ; $champcategorie.='<option value="'.'">'.'Réf. matériau'.'</option>'; $reponse = $bdd->query("SELECT * FROM Plaques"); while ($donnees = $reponse->fetch()) { //la concatenation des champs se fait ici $champcategorie.='<option value="'.$donnees['Ref_Materiau'].'">'.$donnees['Ref_Materiau'].'</option>'; } $champcategorie .= '</select>'; echo $champcategorie; ?></td> <td><?php echo $production['Descriptif']; ?></td> <td><?php echo $production['Quantite']; ?></td> <td> <input name="Quantite_prod" class="form-control;" id="Quantite_prod"></input> </td> </tr> </tbody> <?php }?> </table> <h5><input type="submit" class="btn btn-success pull-right" value="envoyer en production"/></h5> <a href="index.php" class="btn btn-primary">Ajouter d'autres Gammes</a> </form> <div class="clearfix"></div> </div> </div> </div> <?php include 'footer.php'; ?>
d'avance merci pour votre aide.
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 <?php header('Refresh: 4; URL= ../../vue/prod/prod_en_cours.php'); // Connexion à la base de données : include_once('../connexion_DB.php'); // Le formulaire possède t-il un champ 'nom' ? if (isset($_POST['Reference'], $_POST['Nom_Client'])) { // Formatage du nom de la référence : $Reference = strtoupper($_POST['Reference']); $Nom_Client = strtoupper($_POST['Nom_Client']); $Nom_Materiau = strtoupper($_POST['Nom_Materiau']); $Ref_Materiau = strtoupper($_POST['Ref_Materiau']); $Descriptif = strtoupper($_POST['Descriptif']); $NB_panneaux = strtoupper($_POST['NB_panneaux']); $Quantite_prod = strtoupper($_POST['Quantite_prod']); $req = $bdd->prepare("SELECT * FROM productions_lancee WHERE Reference = :Reference"); $req->execute(array('Reference' => $Reference)); $req = $bdd->prepare("INSERT INTO productions_lancee (Reference, Nom_Client, Nom_Materiau, Ref_Materiau, Descriptif, NB_panneaux, Quantite_prod) VALUES (:Reference, :Nom_Client, :Nom_Materiau, :Ref_Materiau, :Descriptif, :NB_panneaux, :Quantite_prod)"); $req->execute(array( 'Reference' => $_POST['Reference'], 'Nom_Client' => $_POST['Nom_Client'], 'Nom_Materiau' => $_POST['Nom_Materiau'], 'Ref_Materiau' => $_POST['Ref_Materiau'], 'Descriptif' => $_POST['Descriptif'], 'NB_panneaux' => $_POST['NB_panneaux'], 'Quantite_prod' => $_POST['Quantite_prod'] )); $message = nl2br("Le matétiau <strong>$Ref_Materiau</strong> a bien été enregistré dans la base de données. Voici le détail: Référence : $Reference Nom : {$_POST['Ref_Materiau']} Vous allez être redirigé à la page précédente..."); } else { $message = nl2br("Un problème est survenu votre référence n'a pas été enregistrée. Vous allez être redirigé à la page des productions..."); } if(isset($message)){ echo $message; } ?>
Partager