n'arrive pas à ajouter un produit dans ma BDD

Petit nouveau ! | 5 Messages

31 mai 2015, 23:55

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>

Mammouth du PHP | 688 Messages

01 juin 2015, 00:00

<form method="post" enctype="multipart/form-data">
le manque de l’attribut action ?

Petit nouveau ! | 5 Messages

01 juin 2015, 00:27

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 ?

Mammouth du PHP | 688 Messages

01 juin 2015, 00:43

if(isset($_POST['ajouter'])) {
comme le bouton submit n'a pas name="ajouter", cela ne rentre jamais dans le if.

Petit nouveau ! | 5 Messages

01 juin 2015, 09:18

Si, j'ai bien mis name="ajouter" pour le bouton dans mon code et cela ne fonctionne pas, je ne comprends tjrs pas pourquoi ?

Petit nouveau ! | 9 Messages

01 juin 2015, 09:51

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?

Petit nouveau ! | 5 Messages

01 juin 2015, 20:55

quand je teste avec var_dump, le navigateur me donne une page blanche, je ne comprends plus rien !!!

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

02 juin 2015, 00:53

Bonjour,

Petit tuto quand on obtient une page blanche : faq-tutoriels/page-blanche-script-php-c ... 73178.html
Quand tout le reste a échoué, lisez le mode d'emploi...