note 130584 added to reserved.variables.post

From: Date: Thu, 18 Dec 2025 20:42:34 +0000
Subject: note 130584 added to reserved.variables.post
Groups: php.notes 
Request: Send a blank email to php-notes+get-222467@lists.php.net to get a copy of this message
Voici comment gérer un formulaire en POST dans l'architecture MVC que tu étudies, en suivant l'exemple de la création d'un produit tel que décrit dans ton TD. Le flux est le suivant : la Vue envoie les données au Contrôleur, qui utilise le Modèle pour enregistrer en base de données, puis le contrôleur affiche une vue de confirmation. 1. La Vue : Le Formulaire (addProduct.php) C'est ici que l'utilisateur saisit les informations. Le formulaire pointe vers la route correspondante au contrôleur et à la méthode de traitement. <form action="<?= CFG['siteURL'] ?>Product/addProduct" method="post"> <label>Nom : <input type="text" name="name" required></label> <label>Prix : <input type="number" step="0.01" name="price" required></label> <label>Quantité : <input type="number" name="quantity" required></label> <button type="submit">Ajouter le produit</button> </form> 2. Le Contrôleur : Le Traitement (Product.php) La méthode addProduct() récupère les données du tableau superglobal $_POST, crée une entité et demande au dépôt (Repository) de l'enregistrer. <?php // app/controller/Product.php namespace app\controller; use app\model\entity\ProductEntity; use app\model\repository\DbProductRepository; class Product { private $repository; public function __construct() { $this->repository = new DbProductRepository(); } public function addProduct() { // 1. Récupération des données du formulaire $product = new ProductEntity(); $product->setName($_POST['name']); $product->setPrice((float)$_POST['price']); $product->setQuantity((int)$_POST['quantity']); // 2. Appel du modèle pour la persistance $newProduct = $this->repository->add($product); // 3. Affichage du résultat (on passe l'objet à la vue) if ($newProduct) { require "view/displayProduct.php"; } else { echo "Erreur lors de l'ajout."; } } } ?> ---- Server IP: 206.189.2.9 Probable Submitter: 2001:660:7220:385:193:52:103:33 ---- Manual Page -- https://php.net/manual/en/reserved.variables.post.php Edit -- https://main.php.net/note/edit/130584 Del: integrated -- https://main.php.net/note/delete/130584/integrated Del: useless -- https://main.php.net/note/delete/130584/useless Del: bad code -- https://main.php.net/note/delete/130584/bad+code Del: spam -- https://main.php.net/note/delete/130584/spam Del: non-english -- https://main.php.net/note/delete/130584/non-english Del: in docs -- https://main.php.net/note/delete/130584/in+docs Del: other reasons-- https://main.php.net/note/delete/130584 Reject -- https://main.php.net/note/reject/130584 Search -- https://main.php.net/manage/user-notes.php

« previous php.notes (#222467) next »