Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <?php
- // include 'class.php';
- ?>
- <?php
- class Cours {
- public $nom;
- function __construct($nom) {
- $this->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;
- ?>
- <html>
- <head>
- <title>Gestion des cours</title>
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
- </head>
- <body>
- <h1>Gestion des cours</h1>
- <h2>Cours</h2>
- <input type="text" id="nom_cours" placeholder="Nom du cours">
- <button onclick="ajouter_cours()">Ajouter un cours</button>
- <button onclick="supprimer_cours()">Supprimer le cours sélectionné</button>
- <h2>Enseignants</h2>
- <input type="text" id="nom_enseignants" placeholder="Nom">
- <input type="text" id="prenom_enseignants" placeholder="Prenom">
- <input type="email" id="email_enseignants" placeholder="Email">
- <input type="number" id="tel_enseignants" placeholder="Telephone">
- <input type="text" id="coordonnees_enseignants" placeholder="Coordonnees">
- <button onclick="ajouter_enseignant()">Ajouter un enseignant</button>
- <button onclick="supprimer_enseignant()">Supprimer l'enseignant sélectionné</button>
- <select id="nom_cours">
- <h2>Attribution des cours</h2>
- <!-- Les options seront ajoutées ici depuis la base de données -->
- </select>
- <select id="nom_enseignant">
- <!-- Les options seront ajoutées ici depuis la base de données -->
- </select>
- <input type="text" id="lieu" placeholder="Lieu du cours">
- <input type="date" id="date" placeholder="Date du cours">
- <input type="time" id="heure" placeholder="Heure du cours">
- <button onclick="attribuer_cours()">Attribuer un cours</button>
- <button onclick="supprimer_attribution()">Supprimer l'attribution sélectionnée</button>
- <script>
- $(document).ready(function() {
- $('#ajouter_cours').click(function(e) {
- e.preventDefault();
- var nom_cours = $('#nom_cours').val();
- $.ajax({
- type: "POST",
- url: 'class.php',
- data: {nom_cours: nom_cours},
- success: function(data) {
- $('#liste_cours').html(data);
- },
- error: function(xhr, status, error) {
- console.error('Une erreur est survenue : ' + xhr.status);
- }
- });
- });
- // Ajoutez ici les autres gestionnaires de clics pour les autres boutons
- });
- function remplirListes() {
- // Créer une requête AJAX pour obtenir les données de la base de données
- var xhr = new XMLHttpRequest();
- xhr.open('GET', 'get_data.php', true);
- // Envoyer la requête
- xhr.send();
- // Gérer la réponse
- xhr.onload = function () {
- if (xhr.status === 200) {
- // Si la requête a réussi, remplir les listes déroulantes avec les données
- var data = JSON.parse(xhr.responseText);
- var selectCours = document.getElementById('nom_cours');
- var selectEnseignant = document.getElementById('nom_enseignant');
- data.cours.forEach(function(cours) {
- var option = document.createElement('option');
- option.value = cours.id;
- option.text = cours.nom;
- selectCours.appendChild(option);
- });
- data.enseignants.forEach(function(enseignant) {
- var option = document.createElement('option');
- option.value = enseignant.id;
- option.text = enseignant.nom;
- selectEnseignant.appendChild(option);
- });
- } else {
- // Sinon, afficher une erreur
- console.error('Une erreur est survenue : ' + xhr.status);
- }
- };
- }
- // Appeler la fonction au chargement de la page
- window.onload = remplirListes;
- /*function ajouter_cours() {
- // Récupérer le nom du cours à partir d'un champ de saisie (à ajouter dans votre HTML)
- var nom_cours = document.getElementById('nom_cours').value;
- // Créer une instance de FormData pour stocker les données à envoyer
- var data = new FormData();
- data.append('nom_cours', nom_cours);
- // Créer une requête AJAX
- var xhr = new XMLHttpRequest();
- xhr.open('POST', 'class.php', true);
- // Envoyer la requête
- xhr.send(data);
- // Gérer la réponse
- xhr.onload = function () {
- if (xhr.status === 200) {
- // Si la requête a réussi, mettre à jour la liste des cours
- document.getElementById('liste_cours').innerHTML = xhr.responseText;
- } else {
- // Sinon, afficher une erreur
- console.error('Une erreur est survenue : ' + xhr.status);
- }
- };
- }*/
- </script>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement