Page 1 sur 1

n'arrive pas à ajouter un produit dans ma BDD

Posté : 31 mai 2015, 23:55
par ann10
bonjour,
j'ai un site sur lequel je souhaite faire une page pour ajouter un produit à l'aide d'un formulaire contenant :
une lise déroulante de salle
une date d'arrivée
une date de départ
une liste déroulante de promo
un prix
bouton "ajouter"

j'ai réussi à faire le formulaire avec toutes mes listes déroulantes mais quand je clique sur le bouton "Ajouter"; il ne se passe rien, aucun envoi dans la BDD et aucun message n'apparait

Quelqu'un peut-il m'aider ?

voici le code :

Code : Tout sélectionner

<?php require_once("inc/init.inc.php"); error_reporting(E_ALL); // vérification des droits à accéder à cette page if (!utilisateurAdmin()) { header("location:index.php"); exit(); } // prépa affichage des salles existantes if(!isset($_GET['action'])) { $requete = executeRequete("SELECT id_salle, ville, adresse, cp, titre, capacite, categorie FROM salle"); $salles_existantes =''; while($affichage = $requete->fetch_assoc()) { $salles_existantes .= '<option value="' . $affichage['id_salle'] . '">' . $affichage['id_salle'] . ' - ' . $affichage['ville'] . ' - ' . $affichage['adresse'] . ' - ' . $affichage['cp'] . ' - ' . $affichage['titre'] . ' - ' . $affichage['capacite'] . ' - ' . $affichage['categorie'] . ' - ' . '</option>'; } } // prépa affichage des codes promos existants if(!isset($_GET['action'])) { $requete = executeRequete ("SELECT id_promo, code_promo, reduction FROM promotion"); $promos_existantes = ''; while($affichage = $requete->fetch_assoc()) { $promos_existantes .= '<option value="' . $affichage['id_promo'] . '">' . $affichage['id_promo'] . ' - code : ' . $affichage['code_promo'] . ' - reduction : ' . $affichage['reduction'] . '</option>'; } $promos_existantes .= '<option value=""> pas de promotion </option>'; } // dans le cas où on ajoute on demande la vérification des champs avec POST if(isset($_POST['ajouter'])) { if (empty($_POST['date_arrivee'])) { $msg .='<div class="erreur"> Veuillez entrer une date d\'arrivée </div>'; } elseif(!empty($_POST['date_arrivee']) && strtotime(convertirDate($_POST['date_arrivee'])) <= time()) { $msg.= '<div class="erreur"> Veuillez entrer une date d\'arrivée supérieure à la date d\'aujourd\'hui </div>'; } if (empty($_POST['date_depart'])) { $msg .='<div class="erreur"> Veuillez entrer une date de départ </div>'; } elseif (!empty($_POST['date_depart']) && strtotime(convertirDate($_POST['date_depart']))< strotime(convertirDate($_POST['date_arrivee']))) { $msg.= '<div class="erreur"> Veuillez entrer une date de départ supérieure ou égale à la date d\'arrivée </div>'; } if (empty($_POST['prix'])) { $msg.= '<div class="erreur"> Veuillez entrer un prix</div>'; } // envoie du produit dans la BDD if(empty($msg)) { $date_arrivee = convertirDate($_POST['date_arrivee']); $date_depart = convertirDate($_POST['date_depart']); if (!isset($_GET['action'])) { executeRequete("INSERT INTO produit (date_arrivee, date_depart, id_salle, id_promo, prix, etat) VALUES ('$date_arrivee','$date_depart','$_POST[id_salle]','$_POST[id_promo]','$_POST[prix]',0)"); $msg .= '<div class="validation"> Le nouveau produit est créé !</div>'; } else { executeRequete("REPLACE INTO produit (id_produit, date_arrivee, date_depart, id_salle, id_promo, prix, etat) VALUES ('$_GET[id_produit]',$date_arrivee','$date_depart','$_POST[id_salle]','$_POST[id_promo]','$_POST[prix]','$_POST[etat]')"); $msg .= '<div class="validation"> Le produit est modifié !</div>'; } } // remplissage des champs du formulaire extract($_POST); } else { // fin du if isset ajouter $date_arrivee = ''; $date_depart = ''; $prix = ''; $etat= 0; } // cas de la modification d'un produit if (isset($_GET['action']) && $_GET['action'] == 'modifier_produit' ) { $titre_menu = 'Modifier'; $requete = executeRequete("SELECT id_produit, date_arrivee, date_depart, id_salle, id_promo, prix, etat FROM produit WHERE id_produit = '$_GET[id_produit]'"); $affichage = $requete->fetch_assoc(); extract($affichage); $date_arrivee = convertirDateEurope($date_arrivee); $date_depart = convertirDateEurope($date_depart); // remplissage du formulaire correspondant à salle du produit modifié $requete = executeRequete("SELECT id_salle, ville, adresse, cp, titre, capacite, categorie FROM salle"); $salles_existantes = ''; while ($affichage = $requete->fetch_assoc()) { if ($affichage['id_salle'] ==$id_salle) { $selected = ($affichage['id_salle'] == $id_salle)? ' selected="selected"' : ''; } $salles_existantes .= '<option value="' . $affichage['id_salle'] . '" ' . $selected . '>' . $affichage['id_salle'] . ' - ' . $affichage['titre'] . ' - '. $affichage['adresse'] . ' - ' . $affichage['ville'] . '- '. $affichage['capacite'] . '-'. $affiche['categorie'] . '-' . '</option>'; } // remplissage du formulaire avec promo produit modifié $requete = executeRequete("SELECT id_promo, code_promo, reduction FROM promotion"); $promos_existantes = ''; while ($affichage = $requete->fetch_assoc()) { if ($affichage['id_promo'] == $id_promo) { $selected = ($affichage['id_promo'] == $id_promo)? ' selected="selected"' : ''; } $promos_existantes .= '<option value="' . $affichage['id_promo'] . '" ' . $selected . '>'.$affichage['id_promo'] . ' - code : ' . $affichage['code_promo'] . ' - reduction : '. $affichage['reduction'] . '</option>'; } if ($id_promo == 0) { $selected = 'selected'; } else { $selected = ''; } $promos_existantes .= '<option value=""' . $selected . '>pas de promotion </option>'; } else { $titre_menu = 'Ajouter'; } // affichage commun require_once("inc/header.inc.php"); require_once("inc/menu.inc.php"); ?> <h1>Gestion des produits</h1> <div class="liens"> <p><a href="gestion_produits.php?action=affichage">AFFICHAGE DES PRODUITS</a></p> </div> <div class="liens"> <p><a href="gestion_produits_ajouter.php">AJOUTER UN PRODUIT</a></p> </div> <?php echo $msg; ?> <div id="gestionproduits"> <form method="post" enctype="multipart/form-data"> <h2>AJOUTER UN PRODUIT</h2> <p><label for="salle"> Choisir une salle parmi les salles existantes </label> <select id="salle" name="id-salle"> <?php echo $salles_existantes; ?> </select><br> <label for="date_arrivee">Date d'arrivée</label> <input id="date_arrivee" type="date" name="date_arrivee" placeholder="jj-mm-aaaa" value="<?php echo $date_arrivee; ?>"><br> <label for="date_depart">Date de départ</label> <input id="date_depart" type="date" name="date_depart" placeholder="jj-mm-aaaa" value="<?php echo $date_depart; ?>"><br> <label for="prix">Prix</label> <input id="prix" type="text" name="prix" value="<?php echo $prix; ?>"><br> <label for="id_promo">Attribution d'une remise parmi les codes promos existants</label> <select id="id_promo" name="id_promo"> <?php echo $promos_existantes; ?> </select> <input type="hidden" name="etat" value="<?php echo $etat; ?>"><br> <button> <input id="ajouter" type="submit" value="<?php echo htmlspecialchars($titre_menu); ?>" name="ajouter" /></button></p> </form> </div>

Re: n'arrive pas à ajouter un produit dans ma BDD

Posté : 01 juin 2015, 00:00
par tof73
<form method="post" enctype="multipart/form-data">
le manque de l’attribut action ?

Re: n'arrive pas à ajouter un produit dans ma BDD

Posté : 01 juin 2015, 00:27
par ann10
l'attribut action c'est pour partir sur un autre fichier ?

moi je veux rester sur mon fichier qui s'intitule gestion_produits_ajouter.php dans lequel j'ai mis le code et quand on remplit le formulaire je souhaite que les valeurs rentrent en BDD et qu'un message s'affiche sur ma page "le nouveau produit est ajouté".

Si je dois mettre une action, laquelle dois-je mettre ?

Re: n'arrive pas à ajouter un produit dans ma BDD

Posté : 01 juin 2015, 00:43
par tof73
if(isset($_POST['ajouter'])) {
comme le bouton submit n'a pas name="ajouter", cela ne rentre jamais dans le if.

Re: n'arrive pas à ajouter un produit dans ma BDD

Posté : 01 juin 2015, 09:18
par ann10
Si, j'ai bien mis name="ajouter" pour le bouton dans mon code et cela ne fonctionne pas, je ne comprends tjrs pas pourquoi ?

Re: n'arrive pas à ajouter un produit dans ma BDD

Posté : 01 juin 2015, 09:51
par Gregory
Salut

As tu fais un var_dump($_POST) dans ta condition pour voir ce que tu récupères et si tu le récupères correctement?

Re: n'arrive pas à ajouter un produit dans ma BDD

Posté : 01 juin 2015, 20:55
par ann10
quand je teste avec var_dump, le navigateur me donne une page blanche, je ne comprends plus rien !!!

Re: n'arrive pas à ajouter un produit dans ma BDD

Posté : 02 juin 2015, 00:53
par @rthur
Bonjour,

Petit tuto quand on obtient une page blanche : faq-tutoriels/page-blanche-script-php-c ... 73178.html