Je n'arrive pas à inserer un enregistrament danst ma table avec insert into
djoab2021
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
j'ai un formulaire de saisie des informations de donneurs (nom et prenom) et quand je clique sur boutont enregistrer je fais appel à une page insert_donneur pour ajouter les données saisies dans la table des donneurs.
Le problème posé est que l'enregistrement n'est pas inséré dans la table malgré que je n'ai aucun message d'erreur et que le message "Donneur ajouté avec succés" est affiché.
mon code de la page de saisie des donneurs (page_add_donneur) est le suivant :
je tiens à vous préciser que j'utilise les versions :
windows 7 professionnel 64 bits service pack1
navigateur : firefox
WAMPSERVER 2.5
MYSQL 5.6.17
APACHE 2.4.9
PHP 5.5.12
brackets : Version 1.14 édition 1.14.2-17770 (release-1.14.2
je sais que ça doit être qcq chose de simple mais comme je suis débutant, je n'arrive pas à voir mon erreur. Donc je sollicite votre aide et je vous remercie d'avance.
j'ai un formulaire de saisie des informations de donneurs (nom et prenom) et quand je clique sur boutont enregistrer je fais appel à une page insert_donneur pour ajouter les données saisies dans la table des donneurs.
Le problème posé est que l'enregistrement n'est pas inséré dans la table malgré que je n'ai aucun message d'erreur et que le message "Donneur ajouté avec succés" est affiché.
mon code de la page de saisie des donneurs (page_add_donneur) est le suivant :
<!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <title> NOUVEAU DONNEUR </title> <link rel="stylesheet" type="text/css" href="../css/bootstrap.css"> <link rel="stylesheet" type="text/css" href="../css/font-awesome.min.css"> <link rel="stylesheet" href="../css/jquery-ui-1.10.4.custom.css"> <link rel="stylesheet" href="../css/monStyle.css"> <script src="../js/jquery-1.10.2.js"></script> <script src="../js/jquery-ui-1.10.4.js"></script> <script src="../js/bootstrap.min.js"></script> <script src="../js/school.js"></script> <script src="js/jquery-ui-i18n.min.js"></script> <script> $(function (){ // définit les options par défaut du calendrier $.datepicker.setDefaults({ showButtonPanel: true,// affiche des boutons sous le calendrier showOtherMonths: true, // affiche les autres mois selectOtherMonths: true // possibilités de sélectionner les jours des autres mois //changeMonth: true, // changer les mois // changeYear: true, // changer les années }); //$("#calendar").datepicker(); // affiche le calendrier par défaut //$("#calendar").datepicker($.datepicker.regional["fr"]); // affiche le calendrier en fr $("#calendar").datepicker({ dateFormat: "yy-mm-dd", }); $("#calendar1").datepicker({ dateFormat: "yy-mm-dd", }); }); </script> </head> <body> <?php include('../menu.php'); ?> <br><br><br> <a href="page_les_donneurs.php"> <span class="glyphicon glyphicon-arrow-left"></span> Retour </a> <div class="container"> <div class="panel panel-primary"> <div class="panel-heading" align="center"> NOUVEAU DONNEUR</div> <div class="panel-body"> <form method="post" action="insert_donneur.php"> ------------------------- INFORMATIONS DU DONNEUR ------------------------- <br><br> <div class="row my-row"> <label for="nom_donneur" class="control-label col-sm-2"> NOM </label> <div class="col-sm-4"> <input required type="text" name="nom_donneur" id="nom_donneur" class="form-control"> </div> <label for="prenom_donneur" class="control-label col-sm-2"> PRENOM </label> <div class="col-sm-4"> <input required type="text" name="prenom_donneur" id="prenom_donneur" class="form-control"> </div> </div> <button type="submit" class="btn btn-success" display:inline-block> <span class="glyphicon glyphicon-save"></span> Enregistrer </button> </form> </div> </div> </div> </body> </html> Le code de la page insert_donneur pour inserer le donneur saisie est la suivante : <?php require('../utilisateurs/ma_session.php'); ?> <?php require('../connexion.php'); $nom_donneur=$_POST['nom_donneur']; echo $nom_donneur; $prenom_donneur=$_POST['prenom_donneur']; echo $prenom_donneur; $requete_insert_don="INSERT INTO donneurs ('iddonneur',`nom_donneur`, `prenom_donneur`) VALUES(?,?,?)"; $valeurs_insert_don=array(NULL,$nom_donneur,$prenom_donneur); $resultat_insert_don=$pdo->prepare($requete_insert_don); $resultat_insert_don->execute($valeurs_insert_don); /* // l'id de dernier donneur $requete_dernier_don="SELECT * FROM donneurs ORDER BY iddonneur desc limit 1 "; echo $requete_dernier_don; $resultat_dernier_don=$pdo->query($requete_dernier_don); $dernier_donneur=$resultat_dernier_don->fetch(); $iddonneur=$dernier_donneur['iddonneur']; */ $msg="Donneur ajouté avec succès"; $url="donneurs/page_add_donneur.php"; header("location:../message.php?msg=$msg&color=v&url=$url"); ?>
je tiens à vous préciser que j'utilise les versions :
windows 7 professionnel 64 bits service pack1
navigateur : firefox
WAMPSERVER 2.5
MYSQL 5.6.17
APACHE 2.4.9
PHP 5.5.12
brackets : Version 1.14 édition 1.14.2-17770 (release-1.14.2
je sais que ça doit être qcq chose de simple mais comme je suis débutant, je n'arrive pas à voir mon erreur. Donc je sollicite votre aide et je vous remercie d'avance.
Configuration: Windows / Chrome 90.0.4430.212
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Je n'arrive pas à inserer un enregistrament danst ma table avec insert into
- Table ascii - Guide
- Insérer table des matières word - Guide
- Insérer video powerpoint - Guide
- Insérer signature word - Guide
- Touche insert - Guide
2 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
merci d'utiliser les balises de code quand tu partages du code, comme expliqué en https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
il me semble que ton code doit être modifié pour détecter les erreurs, comme expliqué en https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
merci d'utiliser les balises de code quand tu partages du code, comme expliqué en https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
il me semble que ton code doit être modifié pour détecter les erreurs, comme expliqué en https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Bonjour,
En complément des indicatiosn fournies par Yg_be, il semble que :
Tu as utilisé des quotes autour du nom du champ id ... alors qu'il faut, soit ne pas en mettre, soit utiliser des back-quotes.
Si le champ est de type auto-incrémenté, il ne faut pas l'indiquer dans la requête. (du moins, ça ne sert à rien)
Donc, essayes comme ceci
En complément des indicatiosn fournies par Yg_be, il semble que :
Tu as utilisé des quotes autour du nom du champ id ... alors qu'il faut, soit ne pas en mettre, soit utiliser des back-quotes.
Si le champ est de type auto-incrémenté, il ne faut pas l'indiquer dans la requête. (du moins, ça ne sert à rien)
Donc, essayes comme ceci
<?php require_once '../utilisateurs/ma_session.php'; require_once '../connexion.php'; $nom_donneur = !empty($_POST['nom_donneur']) ? $_POST['nom_donneur'] : NULL; $prenom_donneur = !empty($_POST['prenom_donneur']) ? $_POST['prenom_donneur']: NULL; echo $nom_donneur; echo $prenom_donneur; $sql="INSERT INTO donneurs (`nom_donneur`, `prenom_donneur`) VALUES(?,?)"; $datas=array($nom_donneur,$prenom_donneur); try{ $resultat_insert_don = $pdo->prepare($sql); $resultat_insert_don->execute($datas); }catch(Exception $e){ echo ' Erreur : ' . $e->getMessage(); }