Token de sécurité invalide."; } else { // Handle form submission for project creation if(isset($_POST['name']) && isset($_POST['description']) && isset($_POST['start_date'])) { $type = sanitizeInput($_POST['type']); $name = sanitizeInput($_POST['name']); $description = sanitizeInput($_POST['description']); $start_date = sanitizeInput($_POST['start_date']); $end_date = isset($_POST['end_date']) && !empty($_POST['end_date']) ? sanitizeInput($_POST['end_date']) : null; $link = isset($_POST['link']) && !empty($_POST['link']) ? sanitizeInput($_POST['link']) : null; $technologies = isset($_POST['technologies']) && !empty($_POST['technologies']) ? array_map('trim', explode(',', sanitizeInput($_POST['technologies']))) : []; $tags = isset($_POST['tags']) && !empty($_POST['tags']) ? array_map('trim', explode(',', sanitizeInput($_POST['tags']))) : []; // Validation des données if (empty($type) || empty($name) || empty($description) || empty($start_date)) { echo "
Tous les champs obligatoires doivent être remplis.
"; } elseif (!preg_match('/^\d{4}-\d{2}-\d{2}$/', $start_date)) { echo "
Format de date de début invalide.
"; } elseif ($end_date && !preg_match('/^\d{4}-\d{2}-\d{2}$/', $end_date)) { echo "
Format de date de fin invalide.
"; } else { $jsonFile = '../data/projects.json'; // Read existing projects if(file_exists($jsonFile)) { $content = file_get_contents($jsonFile); $projects = $content ? json_decode($content, true) : []; } else { $projects = []; } // Create new project entry $newProject = [ 'id' => uniqid(), 'type' => $type, 'name' => $name, 'description' => $description, 'link' => $link, 'technologies' => $technologies, 'start_date' => $start_date, 'end_date' => $end_date, 'created_at' => date('Y-m-d H:i:s'), 'active' => true ]; // Add new project to the list $projects[] = $newProject; // Save updated projects back to the JSON file if (file_put_contents($jsonFile, json_encode($projects, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE))) { echo "
Projet '$name' créé avec succès !
"; // Reset form fields unset($_POST); } else { echo "
Erreur lors de la sauvegarde du projet.
"; } } } } } ?>

Projets

Ajouter projet