Mettre un menue déroulant dans une méthode POST

Résolu/Fermé
Merci - 22 juin 2022 à 15:18
 Merci - 22 juin 2022 à 15:27
Bonjour , j'aimerais mettre un menue déroulant dans une méthode POST mais je ne sais pas comment récupérer le contenue
Mon code front_end :


<!DOCTYPE html>
<html lang="en">

<head>
<?php include "../back-end/nouv_annonce.php"
?>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<meta name="description" content="" />
<meta name="author" content="" />
<title>Location facile et sécurisé !</title>
<!-- Favicon-->
<link rel="icon" type="image/x-icon" href="../assets/favicon.ico" />
<!-- Bootstrap icons-->
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.5.0/font/bootstrap-icons.css" rel="stylesheet" type="text/css" />
<!-- Google fonts-->
<link href="https://fonts.googleapis.com/css?family=Lato:300,400,700,300italic,400italic,700italic" rel="stylesheet" type="text/css" />
<!-- Core theme CSS (includes Bootstrap)-->
<link href="../css/styles.css" rel="stylesheet" />
</head>
<body>
<?php include '../include/barnav.php'; ?>
<div class="lime-container">
<div class="lime-body">
<div class="container">
<div class="row">
<div class="col-md-12">
<div class="card">
<div class="card-body">
<h5 class="card-title">Nouvelle annonce</h5>
<div class="mt-4">
<!-- préparation de l'affichage des erreurs
après soumission-->
<?php if(isset($success)) {
echo '<p class="text-'.($success == true ? 'success' : 'danger').'">'.$message.'</p>';
}



$stmt = $db->prepare("SELECT * FROM type_annonce ");
$stmt->execute();
$row = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>
</div>
<!-- affichage du formulaire :
- saisie des caractéristiques de lentreprise, toutes sont obligatoires
- sauf le contact à saisir dans une autre page, fonctionnalité non codée
-->
<form method="POST" id="nouv_annonce" name="nouv_annonce" class="mt-4" enctype="multipart/form-data" action='../back-end/nouv_annonce.php'>
<input type="hidden" name="id" id="id" value= <?php echo $_SESSION['id'] ?>>

<div class="form-group">
<label for="nom">Nom annonce</label>
<input type="text" class="form-control" id="nom" name="nom" maxlength="32" required>
</div>

<div class="input-group mb-0">
<div class="input-group-text p-0">
<select class="form-select form-select-lg shadow-none bg-light border-0">
<option>Catégories</option>
<?php foreach($row as $categorie):?>


<option name="categorie"><?php echo $categorie["LIBELLE_TYPE"] ?></option>

<?php
endforeach; ?>

</select>
</div>
</div>


<div class="form-group">
<label for="prix">Prix</label>
<input type="text" class="form-control " id="prix" name="prix" maxlength="5" required >
</div>
<div class="form-group">
<label for="description">Description</label>
<input type="text" class="form-control " id="descrition" name="description" size="32" required >
</div>
<div class="form-group">
<label for="file">Fichier</label>
<input type="file" id="file" name="file">
</div>

<div class="mt-3">
<button type="submit" name="nouv_annonce" id="annonce"
class="btn btn-block btn-primary btn-lg">Soumettre</button>
</div>

</form>

</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>



Back_end :
<?php
include "../testmysql.php";


if (isset($_POST['nouv_annonce'])) {
if (!empty($_POST['id']) && !empty($_POST['nom'])
&& !empty($_POST['prix'])&& !empty($_POST['description'] ) )
{
if(isset($_FILES['file'])){
$tmpName = $_FILES['file']['tmp_name'];
$name = $_FILES['file']['name'];
$size = $_FILES['file']['size'];
$error = $_FILES['file']['error'];

$tabExtension = explode('.', $name);
$extension = strtolower(end($tabExtension));

$extensions = ['jpg', 'png', 'jpeg', 'gif'];

if(in_array($extension, $extensions) && $error == 0){

$uniqueName = uniqid('', true);
//uniqid génère quelque chose comme ca : 5f586bf96dcd38.73540086
$file = $uniqueName.".".$extension;
//$file = 5f586bf96dcd38.73540086.jpg

move_uploaded_file($tmpName, '../assets/image_annonce/'.$file);

$query = "INSERT INTO annonce (ID_UTILISATEUR, OBJET, PRIX, DESCRIPTION, NOM_IMAGE) VALUES (:id, :nom,:prix, :description, :file);";


$stmt = $db->prepare($query);
$stmt->bindValue(':id', $_POST['id'], PDO::PARAM_STR);
$stmt->bindValue(':nom', $_POST['nom'], PDO::PARAM_STR);
$stmt->bindValue(':prix', $_POST['prix'], PDO::PARAM_STR);
$stmt->bindValue(':description', $_POST['description'], PDO::PARAM_STR);
$stmt->bindValue(':file', $file, PDO::PARAM_STR);


try {
$execute =$stmt->execute();
$success = true;
$message = "L'annonce a bien été ajoutée.";

}
catch (Exception $e){
$message =$e;
$success = false;
$message ="pas d'ajout.";
}



}
}




} else {
$success = false;
$message = "Il faut remplir tous les champs.";
}
}

var_dump($_POST);
?>

Merci d'avance et bonne journée
A voir également:

1 réponse

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
22 juin 2022 à 15:21
Bonjour,

Déjà .. merci de bien vouloir utiliser correctement les balises de code en y précisant le LANGAGE
Explications disponibles ici https://forums.commentcamarche.net/forum/affich-37598670-mise-en-forme-du-forum-et-des-fiches-pratiques-ccm#les-codes-sources

Ensuite... ben.. comme n'importe quel autre champ de ton formulaire ...
Mais pour que ça marche, il faut, bien entendu, mettre un attribut NAME à ton select ...

0
Ah ok c'est juste ça , j'avais mis le name sur option , c'est vrai que c'est plus logique !
Merci
0
Merci > Merci
22 juin 2022 à 15:27
Et désoler pour la mise en forme c'est la première fois que je poste une demande
0