Nettoyage du code, fix de petits bugs.
Co-authored-by: Charpentier Juliette <juliette.charpentier1@etu.u-pec.fr
This commit is contained in:
@@ -1,10 +1,9 @@
|
||||
<?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
|
||||
$userData = json_decode($userDataEncoded, true);
|
||||
|
||||
$email = $userData['email'];
|
||||
$name = $userData['name'];
|
||||
@@ -16,45 +15,34 @@ 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'";
|
||||
$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) {
|
||||
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>";
|
||||
if ($stmt->affected_rows > 0) {
|
||||
echo "<p class='text'>L'utilisateur a bien été modifié.</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");
|
||||
$stmt->close();
|
||||
header("Location: /admin/users/edit?usermail=$userEmail&success=true");
|
||||
die();
|
||||
} 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();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
?>
|
@@ -11,12 +11,6 @@ if ($userDataEncoded) {
|
||||
$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'];
|
||||
@@ -61,53 +55,70 @@ if (isset($_GET['usermail'])) {
|
||||
<body>
|
||||
<?php include ($_SERVER['DOCUMENT_ROOT'] . '/views/header.php'); ?>
|
||||
<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;">
|
||||
<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>";
|
||||
header("refresh:5; url=/");
|
||||
die();
|
||||
} else {
|
||||
echo "<div class='login-container' style='margin-top: 1rem;'>";
|
||||
echo "<img src='https://cdn-icons-png.flaticon.com/512/4139/4139948.png' alt='Avatar'>";
|
||||
echo "<h2>Mettre à jour ces informations</h2>";
|
||||
echo "<p>Modifiez les informations de ce profil.</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>
|
||||
if (isset($_GET['success'])) {
|
||||
$userEditedMail = $_GET['usermail'];
|
||||
if ($_GET['success'] == 'true') {
|
||||
echo "<p class='text' style='color:green;'>✅ L'utilisateur $userEditedMail a bien été modifié.</p>";
|
||||
} else {
|
||||
echo "<p class='text' style='color:red'>⛔ Aucune modification n'a été effectuée pour $userEditedMail.</p>";
|
||||
}
|
||||
}
|
||||
echo "<form action='/admin/users/edit/edit.php' method='post'>";
|
||||
echo "<div class='form-group'>";
|
||||
echo "<label for='name'><span style='color:red;'><abbr title='Requis'>*</abbr></span> Prénom</label>";
|
||||
echo "<input type='text' id='name' name='name' value='$userFirstName'>";
|
||||
echo "</div>";
|
||||
echo "<div class='form-group'>";
|
||||
echo "<label for='family_name'><span style='color:red;'><abbr title='Requis'>*</abbr></span> Nom</label>";
|
||||
echo "<input type='text' id='family_name' name='family_name' value='$userFamilyName'>";
|
||||
echo "</div>";
|
||||
echo "<div class='form-group'>";
|
||||
echo "<label for='email'>Adresse mail</label><input type='email' id='email' name='email' style='cursor: not-allowed;' value='$userEmail' readonly>";
|
||||
echo "</div>";
|
||||
echo "<div class='form-group'>";
|
||||
echo "<label for='role'>Rôle actuel</label>";
|
||||
echo "<input type='text' id='role' name='role' style='cursor: not-allowed;' value='$userRole' readonly>";
|
||||
echo "</div>";
|
||||
echo "<div class='form-group'>";
|
||||
echo "<label for='role'><span style='color:red;'><abbr title='Requis'>*</abbr></span> Rôle à assigner</label>";
|
||||
echo "<select name='role' id='role'>";
|
||||
echo "<option>Administrateur</option>";
|
||||
echo "<option>Organisateur</option>";
|
||||
echo "<option>Sportif</option>";
|
||||
echo "<option>Spectateur</option>";
|
||||
echo "</select>";
|
||||
echo "<button type='submit' class='submit-button'><i class='fas fa-edit'></i>";
|
||||
echo "Mettre à jour ces informations</i></button>";
|
||||
echo "</div>";
|
||||
echo "</form>";
|
||||
echo "</div>";
|
||||
}
|
||||
?>
|
||||
|
||||
<?php include ($_SERVER['DOCUMENT_ROOT'] . '/views/footer.php') ?>
|
||||
</body>
|
||||
|
Reference in New Issue
Block a user