8768 sujets

Développement web côté serveur, CMS

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, je sais qu'il est un peu long mais je ne vois pas comment faire autrement :

<?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>


[/code]