prepare("SELECT * FROM posts WHERE id = ?"); $stmt->execute([$article_id]); $post = $stmt->fetch(); if (!$post) { die("❌ Article non trouvé."); } // 🔄 Si on soumet le formulaire if ($_SERVER['REQUEST_METHOD'] === 'POST') { $title = trim($_POST['title']); $content = trim($_POST['content']); $imageUrl = $post['image_url']; global $s3Client, $bucketName; // ✅ Suppression de la photo actuelle si demandé if (isset($_POST['remove_image'])) { if (!empty($post['image_url'])) { $oldKey = basename($post['image_url']); try { $s3Client->deleteObject([ 'Bucket' => $bucketName, 'Key' => $oldKey ]); } catch (Exception $e) { echo "⚠️ Erreur suppression image : " . $e->getMessage(); } } $imageUrl = null; } // ✅ Nouvelle image uploadée elseif (isset($_FILES['image']) && $_FILES['image']['error'] === UPLOAD_ERR_OK) { $fileName = time() . '_' . basename($_FILES['image']['name']); $tmpPath = $_FILES['image']['tmp_name']; try { $s3Client->putObject([ 'Bucket' => $bucketName, 'Key' => $fileName, 'SourceFile' => $tmpPath, 'ACL' => 'public-read' ]); $imageUrl = "http://localhost:9000/$bucketName/$fileName"; // Supprime l'ancienne image if (!empty($post['image_url'])) { $oldKey = basename($post['image_url']); $s3Client->deleteObject(['Bucket' => $bucketName, 'Key' => $oldKey]); } } catch (Exception $e) { echo "❌ Erreur upload : " . $e->getMessage(); exit; } } // 🔄 Mise à jour SQL $stmt = $pdo->prepare("UPDATE posts SET title = ?, content = ?, image_url = ? WHERE id = ?"); $stmt->execute([$title, $content, $imageUrl, $article_id]); header("Location: index.php"); exit; } ?> ✏️ Modifier un article

✏️ Modifier un article

Image actuelle
⬅ Retour au tableau de bord