require_once __DIR__ . '/includes/db.php';
require_once __DIR__ . '/includes/validation.php';
$categories = require __DIR__ . '/includes/categories.php';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$action = $_POST['action'] ?? '';
if ($action === 'creer') {
[$erreurs, $valeurs] = validerProduit($_POST, $categories);
$insertion = $pdo->prepare(
'INSERT INTO produits (nom, categorie, prix, stock)
VALUES (:nom, :categorie, :prix, :stock)'
$insertion->execute($valeurs);
$_SESSION['message'] = 'Produit « ' . $valeurs['nom'] . ' » ajouté.';
header('Location: produits.php', true, 303);
if ($action === 'supprimer') {
$id = filter_var($_POST['id'] ?? '', FILTER_VALIDATE_INT);
$suppression = $pdo->prepare('DELETE FROM produits WHERE id = :id');
$suppression->execute(['id' => $id]);
$_SESSION['message'] = $suppression->rowCount() === 1
: "Ce produit n'existait plus.";
header('Location: produits.php', true, 303);
->query('SELECT id, nom, categorie, prix, stock FROM produits ORDER BY nom')
$message = $_SESSION['message'] ?? null;
unset($_SESSION['message']);
include __DIR__ . '/includes/header.php';
<?php if ($message !== null): ?>
<p class="message"><?php echo htmlspecialchars($message); ?></p>
<th>Nom</th><th>Catégorie</th><th>Prix</th><th>Stock</th><th></th>
<?php foreach ($produits as $produit): ?>
<td><?php echo htmlspecialchars($produit['nom']); ?></td>
<td><?php echo htmlspecialchars($categories[$produit['categorie']] ?? $produit['categorie']); ?></td>
<td><?php echo number_format((float) $produit['prix'], 2, ',', ' '); ?> $</td>
<td><?php echo (int) $produit['stock']; ?></td>
<a href="produit-modifier.php?id=<?php echo (int) $produit['id']; ?>">Modifier</a>
<form method="post" action="produits.php">
<input type="hidden" name="action" value="supprimer">
<input type="hidden" name="id" value="<?php echo (int) $produit['id']; ?>">
<button type="submit">Supprimer</button>
<h3>Ajouter un produit</h3>
<form method="post" action="produits.php">
<input type="hidden" name="action" value="creer">
<input type="text" name="nom" required maxlength="100"
value="<?php echo valeurSoumise('nom'); ?>">
<?php messageErreur($erreurs, 'nom'); ?>
<select name="categorie" required>
<option value="">Choisir…</option>
<?php foreach ($categories as $cle => $libelle): ?>
<option value="<?php echo htmlspecialchars($cle); ?>"
<?php echo ($_POST['categorie'] ?? '') === $cle ? 'selected' : ''; ?>>
<?php echo htmlspecialchars($libelle); ?>
<?php messageErreur($erreurs, 'categorie'); ?>
<input type="number" name="prix" step="0.05" min="0" required
value="<?php echo valeurSoumise('prix'); ?>">
<?php messageErreur($erreurs, 'prix'); ?>
<input type="number" name="stock" step="1" min="0" required
value="<?php echo valeurSoumise('stock', '0'); ?>">
<?php messageErreur($erreurs, 'stock'); ?>
<button type="submit">Ajouter</button>
<?php include __DIR__ . '/includes/footer.php'; ?>