From d02cc3fbca6f885d68d412eda66263e50cd5adc2 Mon Sep 17 00:00:00 2001 From: ZHANG David <david.zhang@etu.univ-amu.fr> Date: Thu, 30 Jan 2025 20:22:16 +0000 Subject: [PATCH] Upload New File --- code/join_session.php | 88 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 code/join_session.php diff --git a/code/join_session.php b/code/join_session.php new file mode 100644 index 0000000..dc35219 --- /dev/null +++ b/code/join_session.php @@ -0,0 +1,88 @@ +<?php +include 'config.php'; +session_start(); + +if (!isset($_SESSION['user']) || $_SESSION['user']['role'] !== 'student') { + echo "<div class='container'><p class='error'>Access denied. Only students can join sessions.</p><a href='login.php'>Go back</a></div>"; + exit; +} +$user = $_SESSION['user']; + +$success_message = ""; +$error_message = ""; + +// Vérifier si une requête POST est envoyée +if ($_SERVER['REQUEST_METHOD'] === 'POST') { + $session_id = $conn->real_escape_string($_POST['session_id']); + $student_id = $_SESSION['user']['id']; + + // Vérifier si l'étudiant est déjà inscrit à la session + $check_sql = "SELECT * FROM SessionStudent WHERE session_id = '$session_id' AND student_id = '$student_id'"; + $check_result = $conn->query($check_sql); + + if ($check_result->num_rows > 0) { + $error_message = "You are already enrolled in this session."; + } else { + // Inscription à la session + $sql = "INSERT INTO SessionStudent (session_id, student_id) VALUES ('$session_id', '$student_id')"; + if ($conn->query($sql) === TRUE) { + $success_message = "Successfully joined the session!"; + } else { + $error_message = "Error: " . $conn->error; + } + } +} + +// Récupérer les sessions disponibles +$sql = "SELECT s.id, s.subject, s.start_time, s.end_time, u.first_name, u.last_name + FROM Session s + JOIN User u ON s.tutor_id = u.id + WHERE s.status = 'scheduled'"; +$result = $conn->query($sql); +?> +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <title>Join Session</title> + <link rel="stylesheet" href="style.css"> +</head> +<body> + <?php include 'sidebar.php'; ?> + + <div class="main-content"> + <div class="join-session"> + <h1>Rejoindre une session</h1> + <!-- Affichage des messages de succès ou d'erreur --> + <?php if ($success_message): ?> + <p class="success"><?= htmlspecialchars($success_message) ?></p> + <a href="welcome.php">Go back</a> + <?php elseif ($error_message): ?> + <p class="error"><?= htmlspecialchars($error_message) ?></p> + <a href="welcome.php">Go back</a> + <?php endif; ?> + + <!-- Formulaire pour rejoindre une session --> + <?php if ($result && $result->num_rows > 0): ?> + <form method="POST"> + <label for="session_id">Sessions disponibles:</label> + <select name="session_id" id="session_id" required> + <?php while ($row = $result->fetch_assoc()): ?> + <option value="<?= htmlspecialchars($row['id']) ?>"> + <?= htmlspecialchars($row['subject']) ?> + (<?= date('d/m/Y H:i', strtotime($row['start_time'])) ?> - <?= date('H:i', strtotime($row['end_time'])) ?>) + by <?= htmlspecialchars($row['first_name']) . ' ' . htmlspecialchars($row['last_name']) ?> + </option> + <?php endwhile; ?> + </select> + <button type="submit">Join Session</button> + </form> + <?php else: ?> + <!-- Message si aucune session n'est disponible --> + <p class="error">Aucune session disponible pour le moment. Veuillez revenir plus tard.</p> + <?php endif; ?> + </div> + </div> +</body> +</html> -- GitLab