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 :
[/code]
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]