Ajout de création de user (fonctionnel), de suppression d'user (fonctionnel), et envoi de log (fonctionnel mais pas implémenté)

This commit is contained in:
Esteban
2026-06-08 11:07:19 +02:00
parent 9a1fbf1252
commit f58d981ddc
7 changed files with 210 additions and 2 deletions
+74
View File
@@ -0,0 +1,74 @@
<?php
// Démarrage de la session pour vérifier les droits de l'utilisateur
session_start();
// Ajout de connexion à la BDD
require_once("../functions/databaseConnection.php");
// Vérification que l'utilisateur est bien admin
if (!isset($_SESSION["role"]) || $_SESSION["role"] != "admin") {
header("Location: ../pages/home.php");
exit();
}
// Si le formulaire a été soumis
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Récupération des données du formulaire
$user = $_POST["user"];
$role = $_POST["role"];
$passwd = $_POST["passwd"];
// Vérification que tous les champs sont remplis
if ($user == "" || $role == "" || $passwd == "") {
echo "Tous les champs doivent être remplis.";
exit();
} else {
// Vérification que le rôle est valide (admin ou user)
if ($role != "admin" && $role != "user") {
echo "Le rôle doit être admin ou user.";
exit();
} else {
try {
// Requête SQL pour vérifier si le nom d'utilisateur existe déjà
$sqlVerification = "SELECT * FROM users WHERE username = :username";
$requeteVerification = $dbh->prepare($sqlVerification);
$requeteVerification->execute([
":username" => $user
]);
$utilisateurExistant = $requeteVerification->fetch();
// Si l'utilisateur existe déjà, on affiche une erreur
if ($utilisateurExistant) {
echo "Ce nom d'utilisateur existe déjà.";
exit();
} else {
// Génération de la date de création
$dateCreation = date("Y-m-d H:i:s");
// Requête SQL d'insertion du nouvel utilisateur
$sqlAjout = "INSERT INTO users (username, password, role, created_at) VALUES (:username, :password, :role, :created_at)";
$requeteAjout = $dbh->prepare($sqlAjout);
$requeteAjout->execute([
":username" => $user,
":password" => $passwd,
":role" => $role,
":created_at" => $dateCreation
]);
// Redirection vers la page admin après succès
header("Location: ../pages/admin.php");
exit();
}
} catch (PDOException $e) {
// En cas d'erreur PDO, affichage du message
echo "Erreur pendant l'ajout de l'utilisateur : " . $e->getMessage();
exit();
}
}
}
} else {
// Si la requête n'est pas de type POST, redirection
header("Location: ../pages/admin.php");
exit();
}
?>