Ajout de la fonctionnalité de vue de tous les évènements. Ajout de la réservation d'un évènement. Fix incomplet de la modification d'un utilisateur. CSS.

Co-authored-by: Charpentier Juliette <juliette.charpentier1@etu.u-pec.fr
This commit is contained in:
2024-06-16 01:22:30 +02:00
parent 5d03c4fec9
commit dc4ab633a1
15 changed files with 728 additions and 89 deletions

View File

@@ -16,14 +16,18 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
$userName = htmlspecialchars($_POST["name"]);
$userFamilyName = htmlspecialchars($_POST["family_name"]);
$userEmail = htmlspecialchars($_POST["email"]);
$usePassword = htmlspecialchars($_POST["password"]);
$userPassword = htmlspecialchars($_POST["password"]);
$userUserRole = htmlspecialchars($_POST["role"]);
$hashedPassword = sha1($userPassword);
}
$hashedPassword = sha1($userPassword);
$query = "SELECT mail FROM user WHERE mail = '$userEmail'";
$result = mysqli_query($db, $query);
$query = "SELECT mail FROM user WHERE mail = ?";
$stmt = mysqli_prepare($db, $query);
mysqli_stmt_bind_param($stmt, "s", $userEmail);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
if (!$result) {
die("Erreur lors de l'exécution de la requête.");
@@ -32,30 +36,31 @@ if (!$result) {
$row = mysqli_fetch_assoc($result);
if ($row) {
die("<p>Un utilisateur avec cette adresse mail existe déjà.</p>");
}
$addUser = "INSERT INTO `user`(`mail`, `name`, `family_name`, `role`, `password`) VALUES (?, ?, ?, ?, ?)";
$stmtAddUser = mysqli_prepare($db, $addUser);
mysqli_stmt_bind_param($stmtAddUser, "sssss", $userEmail, $userName, $userFamilyName, $userUserRole, $hashedPassword);
$resultAddUser = mysqli_stmt_execute($stmtAddUser);
$addUser = "INSERT INTO `user`(`mail`, `name`, `family_name`, `role`, `password`) VALUES ('$userEmail', '$userName', '$userFamilyName', '$userUserRole', '$hashedPassword')";
$addUser = "INSERT INTO `user`(`mail`, `name`, `family_name`, `role`, `password`) VALUES ('$userEmail', '$userName', '$userFamilyName', '$userUserRole', '$hashedPassword')";
$resultAddUser = mysqli_query($db, $addUser);
if (!$resultAddUser) {
echo "<p class='text'>Erreur lors de l'exécution de la requête.</p>";
} else {
if (mysqli_affected_rows($db) > 0) {
echo "<p class='text'>Utilisateur créé avec succès. </p>";
echo "<p class='text'>Prénom : " . $userName . "</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>";
include ($_SERVER['DOCUMENT_ROOT'] . '/tools/discordWebhookRegister.php');
header("Location: /admin/users/?newuser=$userEmail");
die();
$resultAddUser = mysqli_query($db, $addUser);
if (!$resultAddUser) {
echo "<p class='text'>Erreur lors de l'exécution de la requête.</p>";
} else {
echo "<p class='text'>Aucun utilisateur n\'a été ajouté.</p>";
if (mysqli_affected_rows($db) > 0) {
echo "<p class='text'>Utilisateur créé avec succès. </p>";
echo "<p class='text'>Prénom : " . $userName . "</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>";
include ($_SERVER['DOCUMENT_ROOT'] . '/tools/discordWebhookRegister.php');
header("Location: /admin/users/?newuser=$userEmail");
die();
} else {
echo "<p class='text'>Aucun utilisateur n\'a été ajouté.</p>";
}
}
}
?>

60
admin/users/edit/edit.php Normal file
View File

@@ -0,0 +1,60 @@
<?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'];
}
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$userName = htmlspecialchars($_POST["name"]);
$userFamilyName = htmlspecialchars($_POST["family_name"]);
$userEmail = htmlspecialchars($_POST["email"]);
$userPassword = isset($_POST["password"]) ? htmlspecialchars($_POST["password"]) : "";
$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'";
$resultEditUser = mysqli_query($db, $editUser);
if (!$resultEditUser) {
echo "<p class='text'>Erreur lors de l'exécution de la requête.</p>";
} else {
if (mysqli_affected_rows($db) > 0) {
echo "<p class='text'>Utilisateur créé avec succès. </p>";
echo "<p class='text'>Prénom : " . $userName . "</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>";
include ($_SERVER['DOCUMENT_ROOT'] . '/tools/discordWebhookRegister.php');
header("Location: /admin/users/edit?usermail=$userEmail");
die();
} else {
echo "<p class='text'>Aucun utilisateur n\'a été ajouté.</p>";
}
}
?>

View File

@@ -2,8 +2,8 @@
require_once $_SERVER['DOCUMENT_ROOT'] . '/tools/dbConnect.php';
session_start();
if (isset($_COOKIE['userData'])) {
$userDataEncoded = $_COOKIE['userData'];
$userDataEncoded = isset($_COOKIE['userData']) ? $_COOKIE['userData'] : null;
if ($userDataEncoded) {
$userData = json_decode($userDataEncoded, true); // 'true' pour obtenir un tableau associatif
$email = $userData['email'];
@@ -11,6 +11,30 @@ if (isset($_COOKIE['userData'])) {
$familyName = $userData['familyName'];
$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'])) {
$userEmail = $_GET['usermail'];
$stmt = mysqli_prepare($db, "SELECT * FROM user WHERE mail = ?");
mysqli_stmt_bind_param($stmt, "s", $userEmail);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
while ($row = mysqli_fetch_assoc($result)) {
$userEmail = $row["mail"];
$userFirstName = $row["name"];
$userFamilyName = $row["family_name"];
$userRole = $row["role"];
}
} else {
echo "<p class='text' >Vous n'avez pas renseigné d'utilisateur à modifier.</p>";
}
?>
<!DOCTYPE html>
@@ -19,28 +43,71 @@ if (isset($_COOKIE['userData'])) {
<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 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>Titre de la page | Jeux Olympiques - Paris 2024</title>
<script>
if (!document.cookie.includes("userData")) { window.location.href = '/account/login'; }
</script>
<title>Profil de l'utilisateur| 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/header.php'); ?>
<h1>Profil de l'utilisateur :</h1>
<?php
// script php ici
if (isset($_GET['email'])) {
<div class="login-container" style="margin-top: 1rem;">
<img src="https://cdn-icons-png.flaticon.com/512/4139/4139948.png" alt="Avatar">
<h2>Mettre à jour ces informations</h2>
<p>Modifiez les informations de ce profil.</p>
<?php
echo "<p class='text' >Vous modifiez actuellement le profil de l'utilisateur $userEmail.</p>";
echo "<p class='text' >Ce profil est actuellement de type $userRole.</p>";
echo "<p class='text'>" . $userFirstName . " " . $userFamilyName . "</p>";
echo "<p class='text'>" . $userEmail . "</p>";
}
?>
?>
<form action="/admin/users/edit/edit.php" method="post">
<div class="form-group">
<label for="name"><span style="color:red;"><abbr title="Requis">*</abbr></span> Prénom</label>
<input type="text" id="name" name="name" value="<?php echo $userFirstName ?>">
</div>
<div class="form-group">
<label for="family_name"><span style="color:red;"><abbr title="Requis">*</abbr></span> Nom</label>
<input type="text" id="family_name" name="family_name" value="<?php echo $userFamilyName ?>">
</div>
<div class="form-group">
<label for="email"><span style="color:red;"><abbr title="Requis">*</abbr></span> Adresse
mail</label>
<input type="email" id="email" name="email" value="<?php echo $userEmail ?>">
</div>
<div class="form-group">
<label for="role">Rôle actuel</label>
<input type="text" id="role" name="role" value="<?php echo $userRole ?>" readonly>
</div>
<div class='form-group'>
<label for='role'>Rôle à assigner</label>
<select name='role' id='role'>
<option>Administrateur</option>
<option>Organisateur</option>
<option>Sportif</option>
<option>Spectateur</option>
</select>
<button type="submit" class="submit-button"><i class="fas fa-edit"></i>
Mettre à jour ces informations</i></button>
</div>
</form>
</div>
<?php include ($_SERVER['DOCUMENT_ROOT'] . '/views/footer.php') ?>
</body>

View File

@@ -82,7 +82,7 @@ if (isset($_COOKIE['userData'])) {
echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['family_name'] . "</td>";
echo "<td>" . $row['role'] . "</td>";
echo "<td><a href='/admin/users/edit?email=" . $row['mail'] . "'>Modifier</a> | <a href='/admin/users/delete?oldemail=" . $row['mail'] . "'>Supprimer</a></td>";
echo "<td><a href='/admin/users/edit?usermail=" . $row['mail'] . "'>Modifier</a> | <a href='/admin/users/delete?oldemail=" . $row['mail'] . "'>Supprimer</a></td>";
echo "</tr>";
}
echo "</table>";