nom = $nom; } } class Enseignant { public $nom; public $prenom; public $email; public $coordonnees; function __construct($nom, $prenom, $email, $tel, $coordonnees) { $this->nom = $nom; $this->prenom = $prenom; $this->email = $email; $this->tel = $tel; $this->coordonnees = $coordonnees; } } class GestionCours { public $nom_cours; public $nom_enseignant; public $lieu; public $date; public $heure; function __construct($nom_cours, $nom_enseignant, $lieu, $date, $heure) { $this->nom_cours = $nom_cours; $this->nom_enseignant = $nom_enseignant; $this->lieu = $lieu; $this->date = $date; $this->heure = $heure; } } // Connexion à la base de données try { $dbh = new PDO('mysql:host=localhost;dbname=gestion_cours', 'root', ''); } catch (PDOException $e) { die("Erreur de connexion: " . $e->getMessage()); } // Gestion des cours function ajouter_cours($cours) { global $dbh; $sql = "INSERT INTO cours (nom) VALUES (?)"; $stmt= $dbh->prepare($sql); $stmt->execute([$cours->nom]); } function supprimer_cours($cours) { global $dbh; $sql = "DELETE FROM cours WHERE nom = ?"; $stmt= $dbh->prepare($sql); $stmt->execute([$cours->nom]); } // Gestion des enseignants function ajouter_enseignant($enseignant) { global $dbh; $sql = "INSERT INTO enseignants (nom, prenom, email, tel, coordonnees) VALUES (?, ?, ?, ?,?)"; $stmt= $dbh->prepare($sql); $stmt->execute([$enseignant->nom, $enseignant->prenom, $enseignant->email, $enseignant->tel, $enseignant->coordonnees]); } function supprimer_enseignant($enseignant) { global $dbh; $sql = "DELETE FROM enseignants WHERE nom = ?"; $stmt= $dbh->prepare($sql); $stmt->execute([$enseignant->nom]); } // Gestion de l'attribution des cours aux enseignants function attribuer_cours($gestionCours) { global $dbh; $sql = "INSERT INTO gestion_cours (nom_cours, nom_enseignant, lieu, date, heure) VALUES (?, ?, ?, ?, ?)"; $stmt= $dbh->prepare($sql); $stmt->execute([$gestionCours->nom_cours, $gestionCours->nom_enseignant, $gestionCours->lieu, $gestionCours->date, $gestionCours->heure]); } function supprimer_attribution_cours($gestionCours) { global $dbh; $sql = "DELETE FROM gestion_cours WHERE nom_cours = ? AND nom_enseignant = ? AND lieu = ? AND date = ? AND heure = ?"; $stmt= $dbh->prepare($sql); $stmt->execute([$gestionCours->nom_cours, $gestionCours->nom_enseignant, $gestionCours->lieu, $gestionCours->date, $gestionCours->heure]); } // Gestion de la requête AJAX if ($_SERVER['REQUEST_METHOD'] === 'POST') { if (isset($_POST['nom_cours'])) { // Valider les données $nom_cours = $_POST['nom_cours']; if (empty($nom_cours) || strlen($nom_cours) > 50) { die("Erreur : Le nom du cours est invalide."); } // Nettoyer les données $nom_cours = trim($nom_cours); $nom_cours = htmlspecialchars($nom_cours, ENT_QUOTES, 'UTF-8'); // Utiliser les données nettoyées pour créer un nouveau cours $cours = new Cours($nom_cours); ajouter_cours($cours); } if (isset($_POST['nom_enseignant'])) { // Valider les données $nom_enseignant = $_POST['nom_enseignant']; if (empty($nom_enseignant) || strlen($nom_enseignant) > 50) { die("Erreur : Le nom du cours est invalide."); } // Nettoyer les données $nom_enseignant = trim($nom_enseignant); $nom_enseignant = htmlspecialchars($nom_enseignant, ENT_QUOTES, 'UTF-8'); // Utiliser les données nettoyées pour créer un nouveau enseignant $enseignant = new Enseignant($nom_enseignant, $prenom, $email, $tel, $coordonnees); ajouter_enseignant($enseignant); } if (isset($_POST['nom_cours'], $_POST['nom_enseignant'], $_POST['lieu'], $_POST['date'], $_POST['heure'])) { // Valider les données $nom_cours = $_POST['nom_cours']; $nom_enseignant = $_POST['nom_enseignant']; $lieu = $_POST['lieu']; $date = $_POST['date']; $heure = $_POST['heure']; if (empty($nom_cours) || strlen($nom_cours) > 50 || empty($nom_enseignant) || strlen($nom_enseignant) > 50 || empty($lieu) || strlen($lieu) > 50 || empty($date) || empty($heure)) { die("Erreur : Les données sont invalides."); } // Nettoyer les données $nom_cours = trim($nom_cours); $nom_cours = htmlspecialchars($nom_cours, ENT_QUOTES, 'UTF-8'); $nom_enseignant = trim($nom_enseignant); $nom_enseignant = htmlspecialchars($nom_enseignant, ENT_QUOTES, 'UTF-8'); $lieu = trim($lieu); $lieu = htmlspecialchars($lieu, ENT_QUOTES, 'UTF-8'); $date = trim($date); $date = htmlspecialchars($date, ENT_QUOTES, 'UTF-8'); $heure = trim($heure); $heure = htmlspecialchars($heure, ENT_QUOTES, 'UTF-8'); // Utiliser les données nettoyées pour créer une nouvelle attribution de cours $gestionCours = new GestionCours($nom_cours, $nom_enseignant, $lieu, $date, $heure); attribuer_cours($gestionCours); } } $dbh = null; ?> Gestion des cours

Gestion des cours

Cours

Enseignants