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';
?>