getMessage()]); } } // Formulaire pour les nouveaux véhicules if (!empty($_POST['plaque'])) { try { $plaque = $_POST['plaque']; $marque = $_POST['marque']; $modele = $_POST['modele']; $annee = $_POST['annee']; // Validation des champs du formulaire if (empty($plaque) || strlen($plaque) < 7 || strlen($plaque) > 9) { $errors[] = "L'immatriculation doit comporter entre 7 et 9 caractères."; } if (empty($marque) || strlen($marque) < 2 || strlen($marque) > 50) { $errors[] = "La marque doit comporter entre 2 et 50 caractères."; } if (empty($modele) || strlen($modele) < 2 || strlen($modele) > 50) { $errors[] = "Le modèle doit comporter entre 2 et 50 caractères."; } if (empty($annee) || !preg_match('/^\d{4}$/', $annee)) { $errors[] = "L'année doit être un nombre de 4 chiffres."; } if (!get_checkPlaque()) { $errors[] = "Votre immatriculation est déjà utilisée par un véhicule."; } if (!empty($_FILES['image']['size'])) { // Vérification de la taille maximale du fichier (par exemple, 5 Mo) $maxFileSize = 5 * 1024 * 1024; // 5 Mo en octets if ($_FILES['image']['size'] > $maxFileSize) { $errors[] = "La taille de l'image dépasse la limite autorisée de 5 Mo."; } // Vérification de l'extension du fichier $extensions_valides = array('jpg', 'jpeg', 'gif', 'png'); $extension_upload = strtolower(pathinfo($_FILES['image']['name'], PATHINFO_EXTENSION)); if (!in_array($extension_upload, $extensions_valides)) { $errors[] = "Extension de l'image incorrecte. Seules les extensions JPG, JPEG, GIF et PNG sont autorisées."; } // Vérification du type MIME du fichier $allowedMimeTypes = array('image/jpeg', 'image/png', 'image/gif'); $fileMimeType = mime_content_type($_FILES['image']['tmp_name']); if (!in_array($fileMimeType, $allowedMimeTypes)) { $errors[] = "Type de fichier non pris en charge. Veuillez télécharger une image au format JPG, JPEG, GIF ou PNG."; } } if (empty($errors)) { // Enregistrement du véhicule post_RegistreCar(); require_once './vue/gestion.html'; displayAddVehiculeSuccessMessage(); exit(); } else { require_once './vue/gestion.html'; displayAddVehiculeErrorMessage($errors); } } catch (Exception $e) { // Afficher les messages d'erreur require_once './vue/gestion.html'; displayAddVehiculeErrorMessage(["Une erreur est survenue lors de l'enregistrement du véhicule."]); } } // Fonction pour afficher un message de succès function displayDeleteVehiculeSuccessMessage() { echo ''; } // Fonction pour afficher un message d'erreur function displayAddVehiculeErrorMessage($errors) { echo ''; } // Fonction pour afficher un message de succès function displayAddVehiculeSuccessMessage() { echo ''; } require_once './vue/gestion.html'; ?>