Bonjour,
J'ai déjà inséré des données dans une table sql via un formulaire mais je n'y parvient pas cette fois ci.
La table que je cherche à incrémenter s'appelle menu et contient les champs suivant:
voici mon formulaireid
nommenu
entree
plat
dessert
Il va chercher les données du menu déroulant dans une autre table via ce code:
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 <form action="insertion8.php" method="post"> <label for='nommenu'> nom du menu: </label> <input id='nommenu'type="text" name="nommenu"required ><br/> <label>choisissez une entrée</label> <select name="entree"> <?php while( $resultat3=$requete3->fetch ()) {?> <option value="<?php echo $resultat3 ['nom'];?>"><?php echo $resultat3 ['nom'];?></option> <?php } ?> </select> <br/> <label>choisissez un plat</label> <select name="plat"> <?php while( $resultat4=$requete4->fetch ()) {?> <option value="<?php echo $resultat4 ['nom'];?>"><?php echo $resultat4 ['nom'];?></option> <?php } ?> </select> <br/> <label>choisissez un dessert</label> <select name="dessert"> <?php while( $resultat5=$requete5->fetch ()) {?> <option value="<?php echo $resultat5 ['nom'];?>"><?php echo $resultat5 ['nom'];?></option> <?php } ?> </select> <br/> <input type="submit" value="envoyer"> </form>
Le formulaire marche bien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <?php $bdd3=new PDO('mysql:host=localhost;dbname=mf2019;charset=utf8','root',''); $requete3=$bdd3->query ("SELECT nom FROM plats WHERE catégorie='entree' ORDER BY 'id' "); $requete4=$bdd3->query ("SELECT nom FROM plats WHERE catégorie='plat' ORDER BY 'id' "); $requete5=$bdd3->query ("SELECT nom FROM plats WHERE catégorie='dessert' ORDER BY 'id' "); ?>
voici ce que j'obtient avec un var-dump:
ensuiteC:\wamp64\www\ESPACE_WEB_MENU_FACILE\DPHP\insertion8.php:2:
array (size=4)
'nommenu' => string 'anniversaire' (length=12)
'entree' => string 'salade grecque' (length=14)
'plat' => string 'rougaille saucisse' (length=18)
'dessert' => string 'tiramisu' (length=8)
je rattache mon formulaire à une autre page sur laquelle j'ai mis le code suivant
puis un code htlm ou on retrouve
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 <?php var_dump($_POST); $objetPdo4=new PDO('mysql:host=localhost;dbname=mf2019;charset=utf8','root',''); $pdoStat4=$objetPdo4->prepare ('INSERT INTO menu VALUES(NULL,:nommenu,:entree,:plat,:dessert)'); $pdoStat4->bindValue (':nommenu',$_POST['nommenu'], PDO::PARAM_STR); $pdoStat4->bindValue (':entree',$_POST['entree'], PDO::PARAM_STR); $pdoStat4->bindValue (':plat',$_POST['plat'], PDO::PARAM_STR); $pdoStat4->bindValue (':dessert',$_POST['dessert'], PDO::PARAM_STR); $insertIsOk=$pdoStat4->execute(); if($insertIsOk) { $message4="votre Menu est bien été enregistré"; } else { $message4="echec de l'enregistrement veuillez réessayer"; } ?>
Je n'ai pas de code d'erreur mais je retrouve le message
Code : Sélectionner tout - Visualiser dans une fenêtre à part <?php echo $message4; ?>
"echec de l'enregistrement veuillez réessayer"
et ma table n'est pas incrémentée je ne comprends pas d'où vient mon erreur
Quelqu'un pourrait il m'aider?
Merci d'avance
Partager