Nettoyage du code, fix de petits bugs.

Co-authored-by: Charpentier Juliette <juliette.charpentier1@etu.u-pec.fr
This commit is contained in:
Loris BALOCCHI 2024-06-16 17:17:55 +02:00
parent 5f8e3e6dbc
commit cfb9825a59
21 changed files with 5843 additions and 835 deletions

View File

@ -67,8 +67,9 @@ if (isset($_COOKIE['userData'])) {
<input type="text" id="family_name" name="family_name" value="<?php echo $familyName ?>"> <input type="text" id="family_name" name="family_name" value="<?php echo $familyName ?>">
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="email"><span style="color:red;"><abbr title="Requis">*</abbr></span> Adresse mail</label> <label for="email">Adresse mail</label>
<input type="email" id="email" name="email" value="<?php echo $email ?>"> <input type="email" id="email" name="email" value="<?php echo $email ?>" disabled
style="cursor: not-allowed;">
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="password"><span style="color:red;"><abbr title="Requis">*</abbr></span> Mot de passe</label> <label for="password"><span style="color:red;"><abbr title="Requis">*</abbr></span> Mot de passe</label>

View File

@ -1,14 +1,6 @@
<?php <?php
require_once $_SERVER['DOCUMENT_ROOT'] . '/tools/dbConnect.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/tools/dbConnect.php';
/*
- prénom, nom, mail, mdp, code rôle
- vérifier que le mail n'existe pas déjà
- vérifier que le code rôle est correct, et affecter le rôle correspondant
- hasher le mdp
- enregistrer le nouvel utilisateur dans la bdd
- créer un cookie avec mail, nom, prénom, rôle. Qui expire dans 1h
*/
include ($_SERVER['DOCUMENT_ROOT'] . '/views/header.php'); include ($_SERVER['DOCUMENT_ROOT'] . '/views/header.php');
if ($_SERVER["REQUEST_METHOD"] == "POST") { if ($_SERVER["REQUEST_METHOD"] == "POST") {
@ -21,8 +13,11 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
$hashedPassword = sha1($password); $hashedPassword = sha1($password);
$query = "SELECT mail FROM user WHERE mail = '$email'"; $query = "SELECT mail FROM user WHERE mail = ?";
$result = mysqli_query($db, $query); $stmt = mysqli_prepare($db, $query);
mysqli_stmt_bind_param($stmt, "s", $email);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
if (!$result) { if (!$result) {
die("Erreur lors de l'exécution de la requête."); die("Erreur lors de l'exécution de la requête.");
@ -53,16 +48,13 @@ if (!$resultAddUser) {
if (mysqli_affected_rows($db) > 0) { if (mysqli_affected_rows($db) > 0) {
echo "<p class='text'>Utilisateur créé avec succès. </p>"; echo "<p class='text'>Utilisateur créé avec succès. </p>";
// Créer un tableau avec les données utilisateur
$userData = array( $userData = array(
"email" => $email, "email" => $email,
"name" => $name, "name" => $name,
"familyName" => $familyName, "familyName" => $familyName,
"role" => $role, "role" => $role,
); );
// Sérialiser le tableau en JSON
$userDataEncoded = json_encode($userData); $userDataEncoded = json_encode($userData);
// Stocker les données sérialisées dans un cookie
setcookie("userData", $userDataEncoded, time() + 3600, "/"); setcookie("userData", $userDataEncoded, time() + 3600, "/");
echo "<p class='text'>Cookie créé avec succès. Contenu du cookie :</p>"; echo "<p class='text'>Cookie créé avec succès. Contenu du cookie :</p>";
@ -82,8 +74,5 @@ if (!$resultAddUser) {
} }
} }
include ($_SERVER['DOCUMENT_ROOT'] . '/views/footer.php'); include ($_SERVER['DOCUMENT_ROOT'] . '/views/footer.php');
?> ?>

View File

@ -43,9 +43,19 @@ if (isset($_COOKIE['userData'])) {
} }
$role = $userData['role']; $role = $userData['role'];
$stmt = mysqli_prepare($db, "SELECT * FROM user WHERE mail = ?");
mysqli_stmt_bind_param($stmt, "s", $email);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
while ($row = mysqli_fetch_assoc($result)) {
$role = $row["role"];
}
if ($role != 'Administrateur') { if ($role != 'Administrateur') {
echo "<p class='text'>Vous n'êtes pas autorisé à accéder à cette page.</p>"; echo "<p class='text'>Vous n'êtes pas autorisé à accéder à cette page.</p>";
echo "<p class='text'>Redirection vers l'accueil dans 5 secondes...</p>"; echo "<p class='text'>Redirection vers l'accueil dans 5 secondes...</p>";
//remet à jour le cookie de l'utilisateur pour remettre son rôle à jour
setcookie('userData', json_encode(array('email' => $email, 'name' => $name, 'familyName' => $familyName, 'role' => $role)), time() + 365 * 24 * 3600, '/');
header("refresh:5; url=/"); header("refresh:5; url=/");
die(); die();
} else { // Si l'utilisateur est un administrateur : accès à la page } else { // Si l'utilisateur est un administrateur : accès à la page

View File

@ -33,8 +33,6 @@ if (isset($_COOKIE['userData'])) {
<body> <body>
<?php include ($_SERVER['DOCUMENT_ROOT'] . '/views/header.php') ?> <?php include ($_SERVER['DOCUMENT_ROOT'] . '/views/header.php') ?>
<!-- code de la page ici --> <!-- code de la page ici -->
<!-- en t'appuyant sur la page /register/index.php, crée une page permettant de créer un utilisateur
(avec menu déroulant pour le choix du rôle, à la place du code role) -->
<div class="login-container"> <div class="login-container">
<img src="https://cdn-icons-png.flaticon.com/512/4139/4139948.png" alt="Avatar"> <img src="https://cdn-icons-png.flaticon.com/512/4139/4139948.png" alt="Avatar">
<h2>Créer un compte</h2> <h2>Créer un compte</h2>

View File

@ -4,7 +4,7 @@ session_start();
if (isset($_COOKIE['userData'])) { if (isset($_COOKIE['userData'])) {
$userDataEncoded = $_COOKIE['userData']; $userDataEncoded = $_COOKIE['userData'];
$userData = json_decode($userDataEncoded, true); // 'true' pour obtenir un tableau associatif $userData = json_decode($userDataEncoded, true);
$email = $userData['email']; $email = $userData['email'];
$name = $userData['name']; $name = $userData['name'];
@ -20,14 +20,11 @@ if (isset($_COOKIE['userData'])) {
// script php ici // script php ici
if (isset($_GET['oldemail'])) { if (isset($_GET['oldemail'])) {
// faire requete préparée à la bdd avec le mail, afin de supprimer l'utilisateur qui porte ce mail.
$userEmail = htmlspecialchars($_GET['oldemail']); $userEmail = htmlspecialchars($_GET['oldemail']);
$stmt = mysqli_prepare($db, "DELETE FROM user WHERE mail=?"); $stmt = mysqli_prepare($db, "DELETE FROM user WHERE mail=?");
mysqli_stmt_bind_param($stmt, 's', $userEmail); mysqli_stmt_bind_param($stmt, 's', $userEmail);
$result = mysqli_stmt_execute($stmt); $result = mysqli_stmt_execute($stmt);
// si résultat de la requete renvoie != 0,
echo "<p class='text'>L'utilisateur " . $userEmail . " a bien été supprimé.</p>"; echo "<p class='text'>L'utilisateur " . $userEmail . " a bien été supprimé.</p>";
// rediriger l'utilisateur vers la page de gestion des utilisateurs
include ($_SERVER['DOCUMENT_ROOT'] . '/views/footer.php'); include ($_SERVER['DOCUMENT_ROOT'] . '/views/footer.php');
header("Location: /admin/users/?res=$userEmail"); header("Location: /admin/users/?res=$userEmail");
die(); die();

View File

@ -1,10 +1,9 @@
<?php <?php
require_once $_SERVER['DOCUMENT_ROOT'] . '/tools/dbConnect.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/tools/dbConnect.php';
session_start();
if (isset($_COOKIE['userData'])) { if (isset($_COOKIE['userData'])) {
$userDataEncoded = $_COOKIE['userData']; $userDataEncoded = $_COOKIE['userData'];
$userData = json_decode($userDataEncoded, true); // 'true' pour obtenir un tableau associatif $userData = json_decode($userDataEncoded, true);
$email = $userData['email']; $email = $userData['email'];
$name = $userData['name']; $name = $userData['name'];
@ -16,45 +15,34 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
$userName = htmlspecialchars($_POST["name"]); $userName = htmlspecialchars($_POST["name"]);
$userFamilyName = htmlspecialchars($_POST["family_name"]); $userFamilyName = htmlspecialchars($_POST["family_name"]);
$userEmail = htmlspecialchars($_POST["email"]); $userEmail = htmlspecialchars($_POST["email"]);
$userPassword = isset($_POST["password"]) ? htmlspecialchars($_POST["password"]) : "";
$userUserRole = htmlspecialchars($_POST["role"]); $userUserRole = htmlspecialchars($_POST["role"]);
$hashedPassword = sha1($userPassword);
$query = "SELECT mail FROM user WHERE mail = '$userEmail'";
$result = mysqli_query($db, $query);
$row = mysqli_fetch_assoc($result);
if ($row) {
die("<p>Un utilisateur avec cette adresse mail existe déjà.</p>");
}
} }
if (!$result) {
die("Erreur lors de l'exécution de la requête.");
}
$editUser = "UPDATE `user` SET `mail`='$userEmail', `name`='$userName', `family_name`='$userFamilyName', `role`='$userUserRole' WHERE `mail`='$userEmail'"; $stmt = $db->prepare("UPDATE `user` SET `name`=?, `family_name`=?, `role`=? WHERE `mail`=?");
$stmt->bind_param("ssss", $userName, $userFamilyName, $userUserRole, $userEmail);
$resultEditUser = $stmt->execute();
$resultEditUser = mysqli_query($db, $editUser);
if (!$resultEditUser) { if (!$resultEditUser) {
echo "<p class='text'>Erreur lors de l'exécution de la requête.</p>"; echo "<p class='text'>Erreur lors de l'exécution de la requête.</p>";
} else { } else {
if (mysqli_affected_rows($db) > 0) { if ($stmt->affected_rows > 0) {
echo "<p class='text'>Utilisateur créé avec succès. </p>"; echo "<p class='text'>L'utilisateur a bien été modifié.</p>";
echo "<p class='text'>Prénom : " . $userName . "</p>"; echo "<p class='text'>Prénom : " . $userName . "</p>";
echo "<p class='text'>Nom : " . $userFamilyName . "</p>"; echo "<p class='text'>Nom : " . $userFamilyName . "</p>";
echo "<p class='text'>Adresse mail : " . $userEmail . "</p>";
echo "<p class='text'>Mot de passe : " . $userPassword . "</p>";
echo "<p class='text'>Mot de passe hashé : " . $hashedPassword . "</p>";
echo "<p class='text'>Rôle : " . $userUserRole . "</p>"; echo "<p class='text'>Rôle : " . $userUserRole . "</p>";
include ($_SERVER['DOCUMENT_ROOT'] . '/tools/discordWebhookRegister.php'); $stmt->close();
header("Location: /admin/users/edit?usermail=$userEmail"); header("Location: /admin/users/edit?usermail=$userEmail&success=true");
die(); die();
} else { } else {
echo "<p class='text'>Aucun utilisateur n\'a été ajouté.</p>"; echo "<p class='text'>Aucune modification n'a été effectuée.</p>";
$stmt->close();
header("Location: /admin/users/edit?usermail=$userEmail&success=false");
die();
} }
} }
?> ?>

View File

@ -11,12 +11,6 @@ if ($userDataEncoded) {
$familyName = $userData['familyName']; $familyName = $userData['familyName'];
$role = $userData['role']; $role = $userData['role'];
} }
//faire le nécessaire epour récup le mail donné en valriable dans l'url dans $userEmail
// requete préparée sql pour obtenir les infos de l'utilisateur à partir du mail
// tu auras des variuables qui contiendront les informations de l'utilisateur, tu n'as plus qu'à
// les afficher correctement dans les cases. Laisse son role d'affiché, mais mets juste en dessous un
// menu déroulant avec tous les 4 rôles possibles
if (isset($_GET['usermail'])) { if (isset($_GET['usermail'])) {
$userEmail = $_GET['usermail']; $userEmail = $_GET['usermail'];
@ -61,53 +55,70 @@ if (isset($_GET['usermail'])) {
<body> <body>
<?php include ($_SERVER['DOCUMENT_ROOT'] . '/views/header.php'); ?> <?php include ($_SERVER['DOCUMENT_ROOT'] . '/views/header.php'); ?>
<h1>Profil de l'utilisateur :</h1> <h1>Profil de l'utilisateur :</h1>
<?php
$role = $userData['role'];
echo "<p class='text'>Rôle du cookie : $role</p>";
$stmt = mysqli_prepare($db, "SELECT * FROM user WHERE mail = ?");
mysqli_stmt_bind_param($stmt, "s", $email);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
while ($row = mysqli_fetch_assoc($result)) {
$role = $row["role"];
echo "<p class='text'>Rôle actuel : $role</p>";
}
if ($role != 'Administrateur') {
echo "<p class='text'>Vous n'êtes pas autorisé à accéder à cette page.</p>";
echo "<p class='text'>Redirection vers l'accueil dans 5 secondes...</p>";
//remet à jour le cookie de l'utilisateur pour remettre son rôle à jour
setcookie('userData', json_encode(array('email' => $email, 'name' => $name, 'familyName' => $familyName, 'role' => $role)), time() + 365 * 24 * 3600, '/');
<div class="login-container" style="margin-top: 1rem;"> header("refresh:5; url=/");
<img src="https://cdn-icons-png.flaticon.com/512/4139/4139948.png" alt="Avatar"> die();
<h2>Mettre à jour ces informations</h2> } else {
<p>Modifiez les informations de ce profil.</p> echo "<div class='login-container' style='margin-top: 1rem;'>";
<?php echo "<img src='https://cdn-icons-png.flaticon.com/512/4139/4139948.png' alt='Avatar'>";
echo "<p class='text' >Vous modifiez actuellement le profil de l'utilisateur $userEmail.</p>"; echo "<h2>Mettre à jour ces informations</h2>";
echo "<p class='text' >Ce profil est actuellement de type $userRole.</p>"; echo "<p>Modifiez les informations de ce profil.</p>";
echo "<p class='text'>" . $userFirstName . " " . $userFamilyName . "</p>";
echo "<p class='text'>" . $userEmail . "</p>";
?> if (isset($_GET['success'])) {
$userEditedMail = $_GET['usermail'];
<form action="/admin/users/edit/edit.php" method="post"> if ($_GET['success'] == 'true') {
<div class="form-group"> echo "<p class='text' style='color:green;'>✅ L'utilisateur $userEditedMail a bien été modifié.</p>";
<label for="name"><span style="color:red;"><abbr title="Requis">*</abbr></span> Prénom</label> } else {
<input type="text" id="name" name="name" value="<?php echo $userFirstName ?>"> echo "<p class='text' style='color:red'>⛔ Aucune modification n'a été effectuée pour $userEditedMail.</p>";
</div> }
<div class="form-group"> }
<label for="family_name"><span style="color:red;"><abbr title="Requis">*</abbr></span> Nom</label> echo "<form action='/admin/users/edit/edit.php' method='post'>";
<input type="text" id="family_name" name="family_name" value="<?php echo $userFamilyName ?>"> echo "<div class='form-group'>";
</div> echo "<label for='name'><span style='color:red;'><abbr title='Requis'>*</abbr></span> Prénom</label>";
<div class="form-group"> echo "<input type='text' id='name' name='name' value='$userFirstName'>";
<label for="email"><span style="color:red;"><abbr title="Requis">*</abbr></span> Adresse echo "</div>";
mail</label> echo "<div class='form-group'>";
<input type="email" id="email" name="email" value="<?php echo $userEmail ?>"> echo "<label for='family_name'><span style='color:red;'><abbr title='Requis'>*</abbr></span> Nom</label>";
</div> echo "<input type='text' id='family_name' name='family_name' value='$userFamilyName'>";
<div class="form-group"> echo "</div>";
<label for="role">Rôle actuel</label> echo "<div class='form-group'>";
<input type="text" id="role" name="role" value="<?php echo $userRole ?>" readonly> echo "<label for='email'>Adresse mail</label><input type='email' id='email' name='email' style='cursor: not-allowed;' value='$userEmail' readonly>";
</div> echo "</div>";
echo "<div class='form-group'>";
<div class='form-group'> echo "<label for='role'>Rôle actuel</label>";
<label for='role'>Rôle à assigner</label> echo "<input type='text' id='role' name='role' style='cursor: not-allowed;' value='$userRole' readonly>";
<select name='role' id='role'> echo "</div>";
<option>Administrateur</option> echo "<div class='form-group'>";
<option>Organisateur</option> echo "<label for='role'><span style='color:red;'><abbr title='Requis'>*</abbr></span> Rôle à assigner</label>";
<option>Sportif</option> echo "<select name='role' id='role'>";
<option>Spectateur</option> echo "<option>Administrateur</option>";
echo "<option>Organisateur</option>";
</select> echo "<option>Sportif</option>";
<button type="submit" class="submit-button"><i class="fas fa-edit"></i> echo "<option>Spectateur</option>";
Mettre à jour ces informations</i></button> echo "</select>";
</div> echo "<button type='submit' class='submit-button'><i class='fas fa-edit'></i>";
</form> echo "Mettre à jour ces informations</i></button>";
echo "</div>";
</div> echo "</form>";
echo "</div>";
}
?>
<?php include ($_SERVER['DOCUMENT_ROOT'] . '/views/footer.php') ?> <?php include ($_SERVER['DOCUMENT_ROOT'] . '/views/footer.php') ?>
</body> </body>

View File

@ -4,7 +4,7 @@ session_start();
if (isset($_COOKIE['userData'])) { if (isset($_COOKIE['userData'])) {
$userDataEncoded = $_COOKIE['userData']; $userDataEncoded = $_COOKIE['userData'];
$userData = json_decode($userDataEncoded, true); // 'true' pour obtenir un tableau associatif $userData = json_decode($userDataEncoded, true);
$email = $userData['email']; $email = $userData['email'];
$name = $userData['name']; $name = $userData['name'];
@ -42,21 +42,27 @@ if (isset($_COOKIE['userData'])) {
header("refresh:5; url=/"); header("refresh:5; url=/");
die(); die();
} }
?>
<?php
$role = $userData['role']; $role = $userData['role'];
$stmt = mysqli_prepare($db, "SELECT * FROM user WHERE mail = ?");
mysqli_stmt_bind_param($stmt, "s", $email);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
while ($row = mysqli_fetch_assoc($result)) {
$role = $row["role"];
}
if ($role != 'Administrateur') { if ($role != 'Administrateur') {
echo "<p class='text'>Vous n'êtes pas autorisé à accéder à cette page.</p>"; echo "<p class='text'>Vous n'êtes pas autorisé à accéder à cette page.</p>";
echo "<p class='text'>Redirection vers l'accueil dans 5 secondes...</p>"; echo "<p class='text'>Redirection vers l'accueil dans 5 secondes...</p>";
//remet à jour le cookie de l'utilisateur pour remettre son rôle à jour
setcookie('userData', json_encode(array('email' => $email, 'name' => $name, 'familyName' => $familyName, 'role' => $role)), time() + 365 * 24 * 3600, '/');
header("refresh:5; url=/"); header("refresh:5; url=/");
die(); die();
} else { // Si l'utilisateur est un administrateur : accès à la page } else {
echo "<p class='text'>Bienvenue sur le panel de gestion des utilisateurs.</p>"; echo "<p class='text'>Bienvenue sur le panel de gestion des utilisateurs.</p>";
echo "<p class='text'>Vous pouvez ici gérer les utilisateurs.</p>"; echo "<p class='text'>Vous pouvez ici gérer les utilisateurs.</p>";
echo "<p class='text'>Que souhaitez-vous faire ?</p>"; echo "<p class='text'>Que souhaitez-vous faire ?</p>";
// Affichage des utilisateurs
// voir message de supression:
if (isset($_GET['res'])) { if (isset($_GET['res'])) {
$oldEmail = ($_GET['res']); $oldEmail = ($_GET['res']);
echo "<p class='text' style='color:yellow; padding-left:0; text-align:center;'>L'utilisateur " . $oldEmail . " a bien été supprimé.</p>"; echo "<p class='text' style='color:yellow; padding-left:0; text-align:center;'>L'utilisateur " . $oldEmail . " a bien été supprimé.</p>";

View File

@ -1,49 +0,0 @@
<?php
require_once $_SERVER['DOCUMENT_ROOT'] . '/tools/dbConnect.php';
session_start();
if (isset($_COOKIE['userData'])) {
$userDataEncoded = $_COOKIE['userData'];
$userData = json_decode($userDataEncoded, true); // 'true' pour obtenir un tableau associatif
$email = $userData['email'];
$name = $userData['name'];
$familyName = $userData['familyName'];
$role = $userData['role'];
}
?>
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="/styles/main.css" />
<link rel="stylesheet" href="/styles/header.css" />
<link rel="stylesheet" href="/styles/footer.css" />
<link
href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"
rel="stylesheet"
/>
<link
rel="icon"
type="image/png"
sizes="32x32"
href="https://tickets.paris2024.org/obj/media/FR-Paris2024/specialLogos/favicons/favicon-32x32.png"
/>
<script
src="https://kit.fontawesome.com/f16a36bad3.js"
crossorigin="anonymous"
></script>
<title>Jeux Olympiques - Paris 2024</title>
</head>
<body>
<?php include ($_SERVER['DOCUMENT_ROOT'] . '/views/header.php') ?>
<!-- code de la page ici -->
<?php include($_SERVER['DOCUMENT_ROOT'].'/views/footer.php')?>
</body>
</html>

View File

@ -33,41 +33,10 @@ if (isset($_COOKIE['userData'])) {
<h1>Évènements</h1> <h1>Évènements</h1>
<?php <?php
/*
- Sujet:
-- Créer un évènement (rôle organisateur ou admin)
-- afficher la liste des évènements (tout le monde)
-- Rechercher un évènement par date, lieu, ou nom
-- s'inscrire à un évènement (rôle membre ou +)
-- participer à un évènement (sportif)
-- laisser un commentaire (rôle membre ou +)
-- Trier les évènements par date, nombre de participants, personnes y ayant accès, etc...
*/
?>
<!-- to do
-- Créer un évènement (rôle organisateur ou admin)
-- s'inscrire à un évènement (rôle membre ou +)
-- afficher la liste des évènements (tout le monde)
-- Rechercher un évènement par date, lieu, ou nom
-- Trier les évènements par date, nombre de participants, personnes y ayant accès, etc...
-- participer à un évènement (sportif)
-- sécuriser les pages avec actions administratives
-->
<?php
echo '<button class="new-event" onclick="window.location.href = \'/events/list\';">Rechercher un évènement</button>'; echo '<button class="new-event" onclick="window.location.href = \'/events/list\';">Rechercher un évènement</button>';
if ($role == 'Organisateur') {
echo '<button class="new-event" onclick="window.location.href = \'/events/new\';">Créer un évènement</button>';
}
// faire une requete sql avec mysqli permettant d'afficher tous les évènements
// afficher les évènements sous forme de tableau
// voici les colonnes disponibles dans la table event
// id title description event_type date location role guest_count creator
$query = "SELECT * FROM event"; $query = "SELECT * FROM event";
@ -120,7 +89,6 @@ if (isset($_COOKIE['userData'])) {
echo "<td class='event-table-data'>" . htmlspecialchars($row['event_type']) . "</td>"; echo "<td class='event-table-data'>" . htmlspecialchars($row['event_type']) . "</td>";
echo "<td class='event-table-data'>" . date('d/m/Y', strtotime($row['date'])) . "</td>"; echo "<td class='event-table-data'>" . date('d/m/Y', strtotime($row['date'])) . "</td>";
echo "<td class='event-table-data'>" . htmlspecialchars($row['location']) . "</td>"; echo "<td class='event-table-data'>" . htmlspecialchars($row['location']) . "</td>";
// mettre un bouton réserver si l'utilisateur est connecté et un bouton participer si l'utilisateur est un sportif
if (isset($_COOKIE['userData'])) { if (isset($_COOKIE['userData'])) {
if ($role == 'Sportif') { if ($role == 'Sportif') {
echo "<td class='event-table-data'><button class='submit-button' onclick='window.location.href=\"/events/participate/participate.php?usermail=$email&id=" . $row['id'] . "\"'>Participer</button></td>"; echo "<td class='event-table-data'><button class='submit-button' onclick='window.location.href=\"/events/participate/participate.php?usermail=$email&id=" . $row['id'] . "\"'>Participer</button></td>";
@ -133,15 +101,8 @@ if (isset($_COOKIE['userData'])) {
echo "</div>"; echo "</div>";
echo "</div>"; echo "</div>";
?> ?>
<?php include ($_SERVER['DOCUMENT_ROOT'] . '/views/footer.php') ?> <?php include ($_SERVER['DOCUMENT_ROOT'] . '/views/footer.php') ?>

View File

@ -3,7 +3,6 @@ require_once $_SERVER['DOCUMENT_ROOT'] . '/tools/dbConnect.php';
session_start(); session_start();
// Traitement des données utilisateur
if ($_SERVER['REQUEST_METHOD'] === 'POST') { if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$eventName = $db->real_escape_string($_POST['eventName']); $eventName = $db->real_escape_string($_POST['eventName']);
$eventDate = $db->real_escape_string($_POST['eventDate']); $eventDate = $db->real_escape_string($_POST['eventDate']);
@ -12,19 +11,16 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$eventDescription = $db->real_escape_string($_POST['eventDescription']); $eventDescription = $db->real_escape_string($_POST['eventDescription']);
$eventRoles = isset($_POST['eventRole']) ? $_POST['eventRole'] : []; $eventRoles = isset($_POST['eventRole']) ? $_POST['eventRole'] : [];
// Construction d'une liste de rôles pour l'affichage
$rolesText = implode(', ', $eventRoles); $rolesText = implode(', ', $eventRoles);
if (isset($_COOKIE['userData'])) { if (isset($_COOKIE['userData'])) {
$userDataEncoded = $_COOKIE['userData']; $userDataEncoded = $_COOKIE['userData'];
$userData = json_decode($userDataEncoded, true); // 'true' pour obtenir un tableau associatif $userData = json_decode($userDataEncoded, true);
$email = $userData['email']; $email = $userData['email'];
$name = $userData['name']; $name = $userData['name'];
$familyName = $userData['familyName']; $familyName = $userData['familyName'];
$role = $userData['role']; $role = $userData['role'];
} }
// Affichage des informations pour confirmation
echo "<p class='text'>Nom de l'évènement : $eventName</p>"; echo "<p class='text'>Nom de l'évènement : $eventName</p>";
echo "<p class='text'>Date de l'évènement : $eventDate</p>"; echo "<p class='text'>Date de l'évènement : $eventDate</p>";
echo "<p class='text'>Lieu de l'évènement : $eventLocation</p>"; echo "<p class='text'>Lieu de l'évènement : $eventLocation</p>";
@ -33,7 +29,6 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
echo "<p class='text'>Rôles de l'évènement : $rolesText</p>"; echo "<p class='text'>Rôles de l'évènement : $rolesText</p>";
echo "<p class='text'>Créateur de l'évènement : $email</p>"; echo "<p class='text'>Créateur de l'évènement : $email</p>";
// Requête SQL préparée
$stmt = mysqli_prepare($db, "INSERT INTO `event` (title, description, event_type, date, location, role, guest_count, creator) VALUES (?, ?, ?, ?, ?, ?, 0, ?)"); $stmt = mysqli_prepare($db, "INSERT INTO `event` (title, description, event_type, date, location, role, guest_count, creator) VALUES (?, ?, ?, ?, ?, ?, 0, ?)");
mysqli_stmt_bind_param($stmt, 'sssssss', $eventName, $eventDescription, $eventDiscipline, $eventDate, $eventLocation, $rolesText, $email); mysqli_stmt_bind_param($stmt, 'sssssss', $eventName, $eventDescription, $eventDiscipline, $eventDate, $eventLocation, $rolesText, $email);
$result = mysqli_stmt_execute($stmt); $result = mysqli_stmt_execute($stmt);

View File

@ -47,7 +47,7 @@ if (isset($_COOKIE['userData'])) {
$role = $userData['role']; $role = $userData['role'];
if (($role == 'Administrateur') or ($role == 'Organisateur')) { // Si l'utilisateur est un administrateur : accès à la page if (($role == 'Administrateur') or ($role == 'Organisateur')) {
echo "<div class='event-container'>"; echo "<div class='event-container'>";
echo "<img src='https://cdn-icons-png.flaticon.com/512/2538/2538566.png' alt='Avatar'>"; echo "<img src='https://cdn-icons-png.flaticon.com/512/2538/2538566.png' alt='Avatar'>";
echo "<h2 class='event-title'>Créer un nouvel évènement</h2>"; echo "<h2 class='event-title'>Créer un nouvel évènement</h2>";

File diff suppressed because it is too large Load Diff

View File

@ -1795,205 +1795,6 @@
"$ref": "AAAAAAGQHEsGE1+fiXs=" "$ref": "AAAAAAGQHEsGE1+fiXs="
} }
}, },
{
"_type": "UMLUseCaseView",
"_id": "AAAAAAGQHEskXl/D/ms=",
"_parent": {
"$ref": "AAAAAAGQHC8VXF2KGv4="
},
"model": {
"$ref": "AAAAAAGQHEskXl/B87A="
},
"subViews": [
{
"_type": "UMLNameCompartmentView",
"_id": "AAAAAAGQHEskX1/E3T8=",
"_parent": {
"$ref": "AAAAAAGQHEskXl/D/ms="
},
"model": {
"$ref": "AAAAAAGQHEskXl/B87A="
},
"subViews": [
{
"_type": "LabelView",
"_id": "AAAAAAGQHEskX1/FDek=",
"_parent": {
"$ref": "AAAAAAGQHEskX1/E3T8="
},
"visible": false,
"font": "Arial;13;0",
"left": 368,
"top": -288,
"height": 13
},
{
"_type": "LabelView",
"_id": "AAAAAAGQHEskX1/GCJo=",
"_parent": {
"$ref": "AAAAAAGQHEskX1/E3T8="
},
"font": "Arial;13;1",
"left": 468,
"top": 196,
"width": 62,
"height": 13,
"text": "Email"
},
{
"_type": "LabelView",
"_id": "AAAAAAGQHEskX1/HwYE=",
"_parent": {
"$ref": "AAAAAAGQHEskX1/E3T8="
},
"visible": false,
"font": "Arial;13;0",
"left": 368,
"top": -288,
"width": 73.67724609375,
"height": 13,
"text": "(from Model)"
},
{
"_type": "LabelView",
"_id": "AAAAAAGQHEskX1/ImMk=",
"_parent": {
"$ref": "AAAAAAGQHEskX1/E3T8="
},
"visible": false,
"font": "Arial;13;0",
"left": 368,
"top": -288,
"height": 13,
"horizontalAlignment": 1
}
],
"font": "Arial;13;0",
"left": 463,
"top": 189,
"width": 72,
"height": 25,
"stereotypeLabel": {
"$ref": "AAAAAAGQHEskX1/FDek="
},
"nameLabel": {
"$ref": "AAAAAAGQHEskX1/GCJo="
},
"namespaceLabel": {
"$ref": "AAAAAAGQHEskX1/HwYE="
},
"propertyLabel": {
"$ref": "AAAAAAGQHEskX1/ImMk="
}
},
{
"_type": "UMLAttributeCompartmentView",
"_id": "AAAAAAGQHEskX1/Jt1s=",
"_parent": {
"$ref": "AAAAAAGQHEskXl/D/ms="
},
"model": {
"$ref": "AAAAAAGQHEskXl/B87A="
},
"visible": false,
"font": "Arial;13;0",
"left": 184,
"top": -144,
"width": 10,
"height": 10
},
{
"_type": "UMLOperationCompartmentView",
"_id": "AAAAAAGQHEskX1/KlVk=",
"_parent": {
"$ref": "AAAAAAGQHEskXl/D/ms="
},
"model": {
"$ref": "AAAAAAGQHEskXl/B87A="
},
"visible": false,
"font": "Arial;13;0",
"left": 184,
"top": -144,
"width": 10,
"height": 10
},
{
"_type": "UMLReceptionCompartmentView",
"_id": "AAAAAAGQHEskX1/LABc=",
"_parent": {
"$ref": "AAAAAAGQHEskXl/D/ms="
},
"model": {
"$ref": "AAAAAAGQHEskXl/B87A="
},
"visible": false,
"font": "Arial;13;0",
"left": 184,
"top": -144,
"width": 10,
"height": 10
},
{
"_type": "UMLTemplateParameterCompartmentView",
"_id": "AAAAAAGQHEskX1/MEUE=",
"_parent": {
"$ref": "AAAAAAGQHEskXl/D/ms="
},
"model": {
"$ref": "AAAAAAGQHEskXl/B87A="
},
"visible": false,
"font": "Arial;13;0",
"left": 184,
"top": -144,
"width": 10,
"height": 10
},
{
"_type": "UMLExtensionPointCompartmentView",
"_id": "AAAAAAGQHEskX1/NO0c=",
"_parent": {
"$ref": "AAAAAAGQHEskXl/D/ms="
},
"model": {
"$ref": "AAAAAAGQHEskXl/B87A="
},
"visible": false,
"font": "Arial;13;0",
"left": 184,
"top": -144,
"width": 10,
"height": 10
}
],
"font": "Arial;13;0",
"containerChangeable": true,
"left": 448,
"top": 184,
"width": 102,
"height": 35,
"nameCompartment": {
"$ref": "AAAAAAGQHEskX1/E3T8="
},
"suppressAttributes": true,
"suppressOperations": true,
"attributeCompartment": {
"$ref": "AAAAAAGQHEskX1/Jt1s="
},
"operationCompartment": {
"$ref": "AAAAAAGQHEskX1/KlVk="
},
"receptionCompartment": {
"$ref": "AAAAAAGQHEskX1/LABc="
},
"templateParameterCompartment": {
"$ref": "AAAAAAGQHEskX1/MEUE="
},
"extensionPointCompartment": {
"$ref": "AAAAAAGQHEskX1/NO0c="
}
},
{ {
"_type": "UMLUseCaseView", "_type": "UMLUseCaseView",
"_id": "AAAAAAGQHEs92F/xhtY=", "_id": "AAAAAAGQHEs92F/xhtY=",
@ -2757,101 +2558,6 @@
"$ref": "AAAAAAGQHEzVTGDW0ZE=" "$ref": "AAAAAAGQHEzVTGDW0ZE="
} }
}, },
{
"_type": "UMLExtendView",
"_id": "AAAAAAGQHEznkGFf6/4=",
"_parent": {
"$ref": "AAAAAAGQHC8VXF2KGv4="
},
"model": {
"$ref": "AAAAAAGQHEznj2FdHdY="
},
"subViews": [
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGQHEznkGFgaRc=",
"_parent": {
"$ref": "AAAAAAGQHEznkGFf6/4="
},
"model": {
"$ref": "AAAAAAGQHEznj2FdHdY="
},
"visible": false,
"font": "Arial;13;0",
"left": 423,
"top": 176,
"height": 13,
"alpha": 1.5707963267948966,
"distance": 15,
"hostEdge": {
"$ref": "AAAAAAGQHEznkGFf6/4="
},
"edgePosition": 1
},
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGQHEznkGFhUcg=",
"_parent": {
"$ref": "AAAAAAGQHEznkGFf6/4="
},
"model": {
"$ref": "AAAAAAGQHEznj2FdHdY="
},
"font": "Arial;13;0",
"left": 427,
"top": 172,
"width": 53.49169921875,
"height": 13,
"alpha": -3.0962168259138725,
"distance": 24.758836806279895,
"hostEdge": {
"$ref": "AAAAAAGQHEznkGFf6/4="
},
"edgePosition": 1,
"text": "«extend»"
},
{
"_type": "EdgeLabelView",
"_id": "AAAAAAGQHEznkGFiAkA=",
"_parent": {
"$ref": "AAAAAAGQHEznkGFf6/4="
},
"model": {
"$ref": "AAAAAAGQHEznj2FdHdY="
},
"visible": false,
"font": "Arial;13;0",
"left": 436,
"top": 149,
"height": 13,
"alpha": -1.5707963267948966,
"distance": 15,
"hostEdge": {
"$ref": "AAAAAAGQHEznkGFf6/4="
},
"edgePosition": 1
}
],
"font": "Arial;13;0",
"head": {
"$ref": "AAAAAAGQHEuxrmAf+nQ="
},
"tail": {
"$ref": "AAAAAAGQHEskXl/D/ms="
},
"lineStyle": 1,
"points": "460:183;401:156",
"showVisibility": true,
"nameLabel": {
"$ref": "AAAAAAGQHEznkGFgaRc="
},
"stereotypeLabel": {
"$ref": "AAAAAAGQHEznkGFhUcg="
},
"propertyLabel": {
"$ref": "AAAAAAGQHEznkGFiAkA="
}
},
{ {
"_type": "UMLExtendView", "_type": "UMLExtendView",
"_id": "AAAAAAGQHEz2eGHZo5o=", "_id": "AAAAAAGQHEz2eGHZo5o=",

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -166,7 +166,6 @@ h2 {
color: white; color: white;
font-size: 1.5rem; font-size: 1.5rem;
margin-top: 1rem; margin-top: 1rem;
padding-left: 2rem;
text-transform: uppercase; text-transform: uppercase;
font-family: "RobotoFlex"; font-family: "RobotoFlex";
} }
@ -335,13 +334,13 @@ input[type="checkbox"] + label::before {
border-radius: 4px; border-radius: 4px;
} }
/* Changer l'apparence lorsque la case est cochée */ /* Changement de l'apparence lorsque la case est cochée */
input[type="checkbox"]:checked + label::before { input[type="checkbox"]:checked + label::before {
background-color: #007bff; background-color: #007bff;
border-color: #007bff; border-color: #007bff;
} }
/* Optionnel : Ajouter un indicateur visuel pour la case cochée */ /* Ajout d'un indicateur visuel pour la case cochée */
input[type="checkbox"]:checked + label::after { input[type="checkbox"]:checked + label::after {
content: "✓"; content: "✓";
position: absolute; position: absolute;
@ -362,16 +361,24 @@ input[type="checkbox"]:checked + label::after {
appearance: none; /* Pour supprimer le style par défaut */ appearance: none; /* Pour supprimer le style par défaut */
-webkit-appearance: none; /* Pour Safari */ -webkit-appearance: none; /* Pour Safari */
-moz-appearance: none; /* Pour Firefox */ -moz-appearance: none; /* Pour Firefox */
background-image: url("https://cdn-icons-png.flaticon.com/16/8442/8442683.png"); /* Ajoutez votre icône personnalisée */ background-image: url("https://cdn-icons-png.flaticon.com/16/8442/8442683.png");
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: right 0.5rem center; /* Ajustez selon la taille de votre padding */ background-position: right 0.5rem center;
background-size: 1.5rem; /* Ajustez selon la taille souhaitée pour l'icône */ background-size: 1.5rem;
}
.not-selectable {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
} }
/* Optionnel : Style pour les options */
.form-group select option { .form-group select option {
background-color: #34353a; /* Pour que le fond des options corresponde au select */ background-color: #34353a;
color: #fffe; /* Couleur du texte des options */ color: #fffe;
} }
.event-container img { .event-container img {
@ -421,8 +428,8 @@ button.new-event:hover {
.events-flex-container { .events-flex-container {
display: flex; display: flex;
flex-wrap: wrap; /* Permet aux éléments de passer à la ligne suivante si nécessaire */ flex-wrap: wrap;
gap: 1rem; /* Ajoute un espace entre les divs */ gap: 1rem;
} }
.event-card { .event-card {
@ -430,9 +437,7 @@ button.new-event:hover {
padding: 1rem; padding: 1rem;
border-radius: 10px; border-radius: 10px;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.5); box-shadow: 0 4px 6px rgba(0, 0, 0, 0.5);
width: calc( width: calc(50% - 1rem);
50% - 1rem
); /* Prend la moitié de l'espace disponible, en déduisant l'espace de la 'gap' */
max-width: 400px; max-width: 400px;
margin: 0 auto 1rem; margin: 0 auto 1rem;
} }

View File

@ -1,19 +1,13 @@
<?php <?php
// Démarrage de la session pour accéder aux variables de session
session_start(); session_start();
// Vérifier et détruire le cookie utilisateur
if (isset($_COOKIE['userData'])) { if (isset($_COOKIE['userData'])) {
// Effacer la valeur du cookie
unset($_COOKIE['userData']); unset($_COOKIE['userData']);
// Demander au navigateur de supprimer le cookie setcookie('userData', '', time() - 3600, '/');
setcookie('userData', '', time() - 3600, '/'); // Définit l'expiration du cookie à une heure dans le passé
} }
// Nettoyer toutes les données de session $_SESSION = array();
$_SESSION = array(); // Efface toutes les données stockées dans la session
// Si vous voulez détruire complètement la session, supprimez également le cookie de session
if (ini_get("session.use_cookies")) { if (ini_get("session.use_cookies")) {
$params = session_get_cookie_params(); $params = session_get_cookie_params();
setcookie( setcookie(
@ -27,10 +21,8 @@ if (ini_get("session.use_cookies")) {
); );
} }
// Finalement, détruire la session
session_destroy(); session_destroy();
// Rediriger l'utilisateur vers la page de connexion ou la page d'accueil
header("Location: /account/login"); header("Location: /account/login");
exit(); exit();
?> ?>

View File

@ -2,21 +2,9 @@
require_once $_SERVER['DOCUMENT_ROOT'] . '/tools/dbConnect.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/tools/dbConnect.php';
session_start(); session_start();
/*
- récupérer name, family_name, mail, password
- vérifier que le mail n'existe pas déjà (n'appartient pas à un autre utilisateur)
- préparer la requête UPDATE
- exécuter la requête
- si succès,
- supprimer cookie existat
- créer un cookie avec mail, nom, prénom, rôle. Qui expire dans 1h
- si échec rediriger vers /account/profile?result=updatefailed
*/
if (isset($_COOKIE['userData'])) { if (isset($_COOKIE['userData'])) {
$userDataEncoded = $_COOKIE['userData']; $userDataEncoded = $_COOKIE['userData'];
$userData = json_decode($userDataEncoded, true); // 'true' pour obtenir un tableau associatif $userData = json_decode($userDataEncoded, true);
$email = $userData['email']; $email = $userData['email'];
$oldEmail = $userData['email']; $oldEmail = $userData['email'];
@ -33,7 +21,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
$updateUser = "UPDATE `user` SET `mail`='$email',`name`='$name',`family_name`='$familyName',`password`='$hashedPassword' WHERE mail = '$oldEmail'"; $updateUser = "UPDATE `user` SET `name`='$name',`family_name`='$familyName',`password`='$hashedPassword' WHERE mail = '$oldEmail'";
$resultUpdateUser = mysqli_query($db, $updateUser); $resultUpdateUser = mysqli_query($db, $updateUser);
if ($resultUpdateUser) { if ($resultUpdateUser) {
setcookie("userData", "", time() - 3600, "/"); setcookie("userData", "", time() - 3600, "/");
@ -54,39 +42,4 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
} }
} }
?> ?>
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="/styles/main.css" />
<link rel="stylesheet" href="/styles/header.css" />
<link rel="stylesheet" href="/styles/footer.css" />
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet" />
<link rel="icon" type="image/png" sizes="32x32"
href="https://tickets.paris2024.org/obj/media/FR-Paris2024/specialLogos/favicons/favicon-32x32.png" />
<script src="https://kit.fontawesome.com/f16a36bad3.js" crossorigin="anonymous"></script>
<title>Jeux Olympiques - Paris 2024</title>
</head>
<body>
<?php include ($_SERVER['DOCUMENT_ROOT'] . '/views/header.php') ?>
<?php
echo "<p class='text'>Données reçues : </p>";
echo "<p class='text'>email : $email</p>";
echo "<p class='text'>name : $name</p>";
echo "<p class='text'>familyName : $familyName</p>";
echo "<p class='text'>password : $password</p>";
echo "<p class='text'>hashedPassword : $hashedPassword</p>";
echo "<p class='text'>oldEmail : $oldEmail</p>";
?>
<?php include ($_SERVER['DOCUMENT_ROOT'] . '/views/footer.php') ?>
</body>
</html>

View File

@ -17,10 +17,10 @@ if (isset($_COOKIE['userData'])) {
<div class="row"> <div class="row">
<div class="col-sm-12 col-md-6"> <div class="col-sm-12 col-md-6">
<h6>à propos</h6> <h6>à propos</h6>
<p class="text-justify">Ce site est le fruit d'une SAÉ en informatique, développé par deux <p class="text-justify">Ce site est le fruit d'une SAÉ en informatique, destiné à simuler des
étudiants, destiné à simuler des fonctionnalités du site officiel des Jeux Olympiques de Paris 2024. fonctionnalités du site officiel des Jeux Olympiques de Paris 2024.Il a été conçu pour démontrer nos
Il a été conçu pour démontrer nos compétences en développement web et en gestion de données, tout en compétences en développement web et en gestion de données, tout en offrant une expérience
offrant une expérience utilisateur interactive et informative.</p> utilisateur interactive et informative.</p>
</div> </div>
<div class="col-xs-6 col-md-3"> <div class="col-xs-6 col-md-3">
@ -62,6 +62,7 @@ if (isset($_COOKIE['userData'])) {
echo "<a href='/account/login'>Connexion</a>"; echo "<a href='/account/login'>Connexion</a>";
} ?> } ?>
</li> </li>
</ul> </ul>
</div> </div>
</div> </div>
@ -76,6 +77,10 @@ if (isset($_COOKIE['userData'])) {
<a href="https://grond.iut-fbleau.fr/balocchi">Loris</a> <a href="https://grond.iut-fbleau.fr/balocchi">Loris</a>
</p> </p>
</div> </div>
<div class="col-md-4 col-sm-6 col-xs-12">
<ul>
<li><a><img src="https://wakatime.com/badge/user/26707066-9796-45af-a9b8-895a6e3ce3f8/project/3b2aa1b8-0154-4504-a0f3-895328adcbf0.svg"
alt="wakatime"> Temps passé sur la SAÉ.</a></li>
</div>
</div> </div>
</div>
</footer> </footer>

View File

@ -3,8 +3,7 @@ require_once $_SERVER['DOCUMENT_ROOT'] . '/tools/dbConnect.php';
if (isset($_COOKIE['userData'])) { if (isset($_COOKIE['userData'])) {
$userDataEncoded = $_COOKIE['userData']; $userDataEncoded = $_COOKIE['userData'];
$userData = json_decode($userDataEncoded, true); // 'true' pour obtenir un tableau associatif $userData = json_decode($userDataEncoded, true);
$email = $userData['email']; $email = $userData['email'];
$name = $userData['name']; $name = $userData['name'];
$familyName = $userData['familyName']; $familyName = $userData['familyName'];
@ -13,15 +12,12 @@ if (isset($_COOKIE['userData'])) {
?> ?>
<nav class="menu-container"> <nav class="menu-container">
<!-- burger menu -->
<input type="checkbox" aria-label="Toggle menu" /> <input type="checkbox" aria-label="Toggle menu" />
<span></span> <span></span>
<span></span> <span></span>
<span></span> <span></span>
<!-- logo -->
<a href="<?php <a href="<?php
if (isset($_COOKIE['userData'])) { if (isset($_COOKIE['userData'])) {
echo "/?res=login-succeeded"; echo "/?res=login-succeeded";
@ -32,7 +28,6 @@ if (isset($_COOKIE['userData'])) {
<img src="https://i.imgur.com/RkmSo9Q.png" alt="Jeux Olympiques - Paris 2024" /> <img src="https://i.imgur.com/RkmSo9Q.png" alt="Jeux Olympiques - Paris 2024" />
</a> </a>
<!-- menu items -->
<div class="menu"> <div class="menu">
<ul> <ul>
<?php <?php
@ -42,8 +37,8 @@ if (isset($_COOKIE['userData'])) {
echo "<li class='dropdown'>"; echo "<li class='dropdown'>";
echo "<a href='/admin'>Panel d'administration</a>"; echo "<a href='/admin'>Panel d'administration</a>";
echo "<ul class='dropdown-content'>"; echo "<ul class='dropdown-content'>";
echo "<li><a href='/admin/users'>Gérer les utilisateurs</a></li>"; //option 1 echo "<li><a href='/admin/users'>Gérer les utilisateurs</a></li>";
echo "</ul>"; echo "</ul>";
echo "</li>"; echo "</li>";
} }
@ -58,22 +53,18 @@ if (isset($_COOKIE['userData'])) {
$role = $userData['role']; $role = $userData['role'];
if ($role == 'Administrateur') { if ($role == 'Administrateur') {
echo "<li><a href='/events/new'>Créer un nouvel évènement</a></li>"; echo "<li><a href='/events/new'>Créer un nouvel évènement</a></li>";
echo "<li><a href='/events/list'>Liste des évènements</a></li>"; echo "<li><a href='/events/list'>Rechercher un évènement</a></li>";
echo "<li><a href='/events/book'>S'inscrire à un évènement</a></li>";
} else if ($role == 'Sportif') { } else if ($role == 'Sportif') {
echo "<li><a href='/events/participate'>Participer à un évènement</a></li>"; echo "<li><a href='/events/participate'>Participer à un évènement</a></li>";
echo "<li><a href='/events/list'>Liste des évènements</a></li>"; echo "<li><a href='/events/list'>Rechercher un évènement</a></li>";
echo "<li><a href='/events/book'>S'inscrire à un évènement</a></li>";
} else if ($role == "Organisateur") { } else if ($role == "Organisateur") {
echo "<li><a href='/events/new'>Créer un nouvel évènement</a></li>"; echo "<li><a href='/events/new'>Créer un nouvel évènement</a></li>";
echo "<li><a href='/events/list'>Liste des évènements</a></li>"; echo "<li><a href='/events/list'>Rechercher un évènement</a></li>";
echo "<li><a href='/events/book'>S'inscrire à un évènement</a></li>";
} else if ($role == "Membre") { } else if ($role == "Membre") {
echo "<li><a href='/events/list'>Liste des évènements</a></li>"; echo "<li><a href='/events/list'>Rechercher un évènement</a></li>";
echo "<li><a href='/events/book'>S'inscrire à un évènement</a></li>";
} }
} else { } else {
echo "<li><a href='/events/list'>Liste des évènements</a></li>"; echo "<li><a href='/events/list'>Rechercher un évènement</a></li>";
} }
?> ?>
@ -101,10 +92,8 @@ if (isset($_COOKIE['userData'])) {
<li> <li>
<?php <?php
if (isset($_COOKIE['userData'])) { if (isset($_COOKIE['userData'])) {
//echo "<a href='/account/profile'>Mon profil</a>";
$userName = "" . $userData['name'] . " " . $userData['familyName'] . ""; $userName = "" . $userData['name'] . " " . $userData['familyName'] . "";
echo "<a href='/account/profile'><img class='avatar' src='https://cdn-icons-png.flaticon.com/64/4139/4139948.png' title=" . $userName . "></a>"; echo "<a href='/account/profile'><img class='avatar' src='https://cdn-icons-png.flaticon.com/64/4139/4139948.png' title=" . $userName . "></a>";
//echo "<br>" . $userData['name'] . " " . $userData['familyName'];
} else { } else {
echo "<a href='/account/login'>Connexion</a>"; echo "<a href='/account/login'>Connexion</a>";
} }