suppression des fichiers inutiles / parties de codes inutiles / liens entre lespages

This commit is contained in:
Noah 2026-06-05 11:59:05 +02:00
parent 9a3cbdcb81
commit d8c7540083
13 changed files with 318 additions and 378 deletions

View file

@ -1,7 +1,4 @@
<?php
error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED);
ini_set('display_errors', 1);
function login_ctrl() {
$ask_route = null;
@ -9,55 +6,41 @@ function login_ctrl() {
$ask_route = htmlentities($_GET['ask']);
}
// Si le formulaire est soumis (POST), on vérifie, sinon on l'affiche
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
verify_login_ctrl($ask_route);
} else {
login_form_ctrl($ask_route);
}
}
function verify_login_ctrl(?string $route) {
require('models/user_crud.php');
require('config/config.php');
$login = isset($_POST['login']) ? htmlentities($_POST['login']) : '';
$passwd = isset($_POST['password']) ? htmlentities($_POST['password']) : '';
$user_data = recuperation_auth($connex, $login);
$passwd = isset($_POST['password']) ? $_POST['password'] : '';
if ($user_data && $user_data['passwd'] === $passwd) {
require('models/connection.php');
$c = connection();
require('models/user_crud.php');
$_SESSION['login'] = $user_data['login'];
$_SESSION['role'] = $user_data['type'];
$user = recuperation_auth($c, $login);
// Redirection
if ($user && password_verify($passwd, $user['passwd'])) {
$_SESSION['login'] = $user['login'];
$_SESSION['role'] = $user['type'];
header('Location: index.php?route=' . $route);
exit;
} else {
echo 'Authentication error !!!';
echo 'Erreur d\'authentification.';
exit;
}
}
/**
* Contrôleur de déconnexion
*/
function login_form_ctrl(?string $route) {
require('views/login_view.php');
require('views/login_views.php');
login_form_view($route);
}
/**
* Authentication processing
*/
function logout_ctrl() {
unset($_SESSION);
session_destroy();
require('views/welcome_view.php');
}

View file

@ -1,49 +1,43 @@
<?php
// On inclut le modèle qui contient les fonctions pour la base de données
require_once('../models/modif_compte_model.php');
function modif_utilisateurs_form_ctrl() {
require('models/connection.php');
$c = connection();
require('models/modif_compte_model.php');
// On récupère tous les comptes pour afficher la liste à gauche
$resultComptes = getAllComptes($conn);
$comptes = get_all_comptes($c);
// Variable pour stocker le compte sélectionné (null par défaut)
$compteSelectionne = null;
$compte_select = null;
if (isset($_GET['id'])) {
$compte_select = get_compte_by_id($c, (int) $_GET['id']);
}
// Variable pour afficher un message de confirmation ou d'erreur
$message = "";
// --- CAS 1 : L'utilisateur a cliqué sur un nom dans la liste ---
// On vérifie si un ID est passé dans l'URL (ex: modif_compte_view.php?id=3)
if (isset($_GET['id'])) {
$id = $_GET['id'];
// On récupère les infos du compte correspondant à cet ID
$compteSelectionne = getCompteById($conn, $id);
require('views/modif_compte_view.php');
modif_compte_view($comptes, $compte_select);
}
// --- CAS 2 : L'utilisateur a cliqué sur le bouton "Enregistrer" ---
// On vérifie si le formulaire a été envoyé (méthode POST)
if (isset($_POST['enregistrer'])) {
function modif_utilisateurs_write_ctrl() {
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
header('Location: index.php?route=modif_utilisateurs_form');
exit;
}
// On récupère les données saisies dans le formulaire
$id = $_POST['id'];
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$role = $_POST['role'];
$departement = $_POST['departement'];
$numtel = $_POST['numtel'];
$login = $_POST['login'];
$passwd = $_POST['passwd'];
$id = (int) $_POST['id'];
$nom = htmlentities($_POST['nom']);
$prenom = htmlentities($_POST['prenom']);
$role = htmlentities($_POST['role']);
$nomdep = htmlentities($_POST['nomdep']);
$num_tel = htmlentities($_POST['num_tel']);
$login = htmlentities($_POST['login']);
$passwd = $_POST['passwd'] ?? '';
// On appelle la fonction du modèle pour mettre à jour la base de données
updateCompte($conn, $id, $nom, $prenom, $role, $departement, $numtel, $login, $passwd);
require('models/connection.php');
$c = connection();
require('models/modif_compte_model.php');
// On prépare un message de confirmation
$message = "Le compte a bien été modifié.";
update_compte($c, $id, $nom, $prenom, $role, $nomdep, $num_tel, $login, $passwd);
// On recharge les infos du compte pour les réafficher dans le formulaire
$compteSelectionne = getCompteById($conn, $id);
$_SESSION['notification'] = 'Compte modifié avec succès.';
header('Location: index.php?route=modif_utilisateurs_form&id=' . $id);
exit;
}
// On affiche la vue
require_once('../views/modif_compte_view.php');
?>

View file

@ -1,17 +1,14 @@
<?php
error_reporting (E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED);
ini_set('display_errors', 1);
function add_utilisateurs_form_ctrl() {
require('views/creation_compte_view.php');
}
function add_utilisateurs_write_ctrl() {
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
header('Location: index.php?route=add_utilisateurs_form');
exit;
}
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
@ -21,21 +18,20 @@ function add_utilisateurs_write_ctrl() {
$login = $_POST['login'];
$mdp = $_POST['mdp'];
if (!preg_match('/^[a-zA-Z0-9_-]+$/', $nom) || !preg_match('/^[a-zA-Z0-9_-]+$/', $login)) {
$_SESSION['notification'] = "<span style='color:red;'>Erreur : Le nom ou le login contient des caractère non autorisés.</span>";
if (!preg_match('/^[a-zA-Z0-9_-]+$/', $login)) {
$_SESSION['notification'] = 'Erreur : le login contient des caractères non autorisés.';
require('views/creation_compte_view.php');
} else {
return;
}
$mdp_hache = password_hash($mdp, PASSWORD_DEFAULT);
create_utilisateur_crud($nom, $prenom, $role, $nomdep, $num_tel, $login, $mdp_hache);
$_SESSION['notification'] = "Ajout du nouvel utilisateur réussi";
require('models/connection.php');
$c = connection();
require('models/utilisateur_crud.php');
create_utilisateur_crud($c, $nom, $prenom, $role, $nomdep, $num_tel, $login, $mdp_hache);
$_SESSION['notification'] = 'Utilisateur créé avec succès.';
header('Location: index.php');
exit();
}
}
exit;
}

View file

@ -80,6 +80,22 @@ article {
article h2 { color: #3b4a2e; margin-top: 0; }
/* SOUS-NAVIGATION */
.sub-nav {
margin-bottom: 15px;
padding-bottom: 10px;
border-bottom: 1px solid #e8e2d2;
}
.sub-nav a {
display: inline-block;
margin-right: 15px;
color: #c49a3c;
text-decoration: none;
}
.sub-nav a:hover { text-decoration: underline; }
/* TABLEAUX */
table { width: 100%; border-collapse: collapse; margin: 10px 0; }
table th { background: #f8f6f0; color: #3b4a2e; padding: 10px; text-align: left; border-bottom: 2px solid #c49a3c; }

View file

@ -35,37 +35,13 @@
require('views/welcome_view.php');
break;
case 'families':
require('controllers/family_ctrl.php');
families_list_ctrl();
break;
case 'family':
require('controllers/family_ctrl.php');
family_print_ctrl();
break;
case 'contact':
require('views/contact_view.php');
break;
case 'solutions':
require('controllers/solution_ctrl.php');
solutions_list_ctrl();
break;
case 'add_equipment':
require('controllers/equipment_ctrl.php');
add_equipment_ctrl();
break;
case 'auth':
require('controllers/auth_ctrl.php');
require('controllers/auth_ctrl2.php');
login_ctrl();
break;
case 'logout':
require('controllers/auth_ctrl.php');
require('controllers/auth_ctrl2.php');
logout_ctrl();
break;
@ -79,6 +55,15 @@
add_utilisateurs_write_ctrl();
break;
case 'modif_utilisateurs_form':
require('controllers/modif_compte_ctrl.php');
modif_utilisateurs_form_ctrl();
break;
case 'modif_utilisateurs':
require('controllers/modif_compte_ctrl.php');
modif_utilisateurs_write_ctrl();
break;
case 'operations':
require('views/operations_view.php');

View file

@ -1,56 +1,44 @@
<?php
// On inclut le fichier de connexion à la base de données
require_once('../config/config.php');
// Fonction pour récupérer tous les comptes dans la table Utilisateur
// On joint avec Sauveteur pour avoir le nom et le prénom
function getAllComptes($conn) {
$sql = "SELECT Utilisateur.ID, Utilisateur.login, Utilisateur.type,
Sauveteur.nom, Sauveteur.prenom, Sauveteur.departement, Sauveteur.NumTel
FROM Utilisateur
JOIN Sauveteur ON Sauveteur.ID = Utilisateur.ID";
$result = mysqli_query($conn, $sql);
return $result;
// Récupère tous les comptes utilisateurs
function get_all_comptes(PDO $c): array {
$req = "SELECT ID, login, type, nom, prenom, nomdep, num_tel FROM Utilisateur ORDER BY nom, prenom";
$res = $c->query($req);
$comptes = $res->fetchAll(PDO::FETCH_ASSOC);
$res->closeCursor();
return $comptes;
}
// Fonction pour récupérer un seul compte à partir de son ID
function getCompteById($conn, $id) {
$sql = "SELECT Utilisateur.ID, Utilisateur.login, Utilisateur.type,
Sauveteur.nom, Sauveteur.prenom, Sauveteur.departement, Sauveteur.NumTel
FROM Utilisateur
JOIN Sauveteur ON Sauveteur.ID = Utilisateur.ID
WHERE Utilisateur.ID = $id";
$result = mysqli_query($conn, $sql);
// On retourne directement la ligne du résultat
return mysqli_fetch_assoc($result);
// Récupère un compte par son ID
function get_compte_by_id(PDO $c, int $id): ?array {
$req = "SELECT ID, login, type, nom, prenom, nomdep, num_tel FROM Utilisateur WHERE ID = :id";
$prep = $c->prepare($req);
$prep->bindValue(':id', $id, PDO::PARAM_INT);
$prep->execute();
$compte = $prep->fetch(PDO::FETCH_ASSOC);
$prep->closeCursor();
return $compte ?: null;
}
// Fonction pour mettre à jour un compte dans la base de données
function updateCompte($conn, $id, $nom, $prenom, $role, $departement, $numtel, $login, $passwd) {
// Met à jour un compte utilisateur
function update_compte(PDO $c, int $id, string $nom, string $prenom, string $role, string $nomdep, string $num_tel, string $login, string $passwd): void {
$req = "UPDATE Utilisateur SET nom = :nom, prenom = :prenom, type = :role, nomdep = :dep, num_tel = :tel, login = :login WHERE ID = :id";
$prep = $c->prepare($req);
$prep->bindValue(':nom', $nom);
$prep->bindValue(':prenom', $prenom);
$prep->bindValue(':role', $role);
$prep->bindValue(':dep', $nomdep);
$prep->bindValue(':tel', $num_tel);
$prep->bindValue(':login', $login);
$prep->bindValue(':id', $id, PDO::PARAM_INT);
$prep->execute();
// Mise à jour de la table Sauveteur (nom, prénom, département, téléphone)
$sql1 = "UPDATE Sauveteur
SET nom = '$nom', prenom = '$prenom', departement = '$departement', NumTel = '$numtel'
WHERE ID = $id";
mysqli_query($conn, $sql1);
// Mise à jour de la table Utilisateur (login, type/rôle)
$sql2 = "UPDATE Utilisateur
SET login = '$login', type = '$role'
WHERE ID = $id";
mysqli_query($conn, $sql2);
// On met à jour le mot de passe seulement si l'utilisateur en a saisi un nouveau
if ($passwd != "") {
// On utilise password_hash pour ne pas stocker le mot de passe en clair
$passwd_hash = password_hash($passwd, PASSWORD_DEFAULT);
$sql3 = "UPDATE Utilisateur
SET passwd = '$passwd_hash'
WHERE ID = $id";
mysqli_query($conn, $sql3);
if (!empty($passwd)) {
$hash = password_hash($passwd, PASSWORD_DEFAULT);
$req2 = "UPDATE Utilisateur SET passwd = :passwd WHERE ID = :id";
$prep = $c->prepare($req2);
$prep->bindValue(':passwd', $hash);
$prep->bindValue(':id', $id, PDO::PARAM_INT);
$prep->execute();
}
}
?>

View file

@ -1,16 +1,11 @@
<?php
function recuperation_auth(PDO $connex, int $id):array {
require('config/config.php');
function recuperation_auth(PDO $c, string $login): ?array {
$req = "SELECT login, passwd, type FROM Utilisateur WHERE login = :login";
$prep = $connex->prepare($req);
$prep->bindValue(':id', $id);
$prep = $c->prepare($req);
$prep->bindValue(':login', $login);
$prep->execute();
$auth = $prep->fetch(PDO::FETCH_ASSOC);
$prep->closeCursor();
return $auth;
}
return $auth ?: null;
}

View file

@ -0,0 +1,15 @@
<?php
// Crée un nouvel utilisateur (tous les champs dans Utilisateur)
function create_utilisateur_crud(PDO $c, string $nom, string $prenom, string $role, string $nomdep, string $num_tel, string $login, string $mdp_hache): void {
$req = "INSERT INTO Utilisateur (login, passwd, type, nom, prenom, nomdep, num_tel) VALUES (:login, :passwd, :type, :nom, :prenom, :nomdep, :num_tel)";
$prep = $c->prepare($req);
$prep->bindValue(':login', $login);
$prep->bindValue(':passwd', $mdp_hache);
$prep->bindValue(':type', $role);
$prep->bindValue(':nom', $nom);
$prep->bindValue(':prenom', $prenom);
$prep->bindValue(':nomdep', $nomdep);
$prep->bindValue(':num_tel', $num_tel);
$prep->execute();
}

View file

@ -1,45 +1,50 @@
<?php require('header.php')?>
<?php require('views/header.php'); ?>
<h2>Ajouts de personnes </h2>
<h2>Ajout de personnes</h2>
<form action="traite_formulaire.php" method="post">
<p>Nom : <input type="text" name="login" /></p>
<p>Prénom : <input type="text" name="login" /></p>
</form>
<p>Département : <input type="text" name="dep" /></p>
<form action="index.php?route=add_personne" method="post">
<p>Nom : <input type="text" name="nom" required></p>
<p>Prénom : <input type="text" name="prenom" required></p>
<p>Département : <input type="text" name="dep" required></p>
<p>
<label for="spe">Spécialité :</label>
<select type="number" min="1" placeholder="spécialité" name="spe" >
<option value="1" selected="true">Evacuation </option>
<select name="spe" id="spe">
<option value="1" selected>Évacuation</option>
<option value="2">ASV (assistance victime)</option>
<option value="3">Transmission</option>
<option value="4">Conseiller technique(chef)</option>
<option value="4">Conseiller technique (chef)</option>
<option value="5">Gestion</option>
<option value="6">Désobstruction</option>
<option value="7">Médical</option>
<option value="8">Ventilation</option>
<option value="9">Pas de spécialitées</option>
<option value="9">Pas de spécialité</option>
</select>
</form></p>
<p>
<label for="date">Date d'engagement sur l'opération de secours :</label>
<input type="date" title="titre" name="ladate" value="unedate" /></p>
<p>
<label for="heure">Heure d'engagement sur l'opération de secours :</label>
<input type="time" title="titre" name="lheure" value="14:00" />
</p>
<form>
<label for="roles">Rôle :</label>
<select type="number" min="1" placeholder="Rôle" name="role">
<option value="1" selected="true">Gestionnaire </option>
<option value="2">Lecteur </option>
<p>
<label for="date">Date d'engagement :</label>
<input type="date" id="date" name="date">
</p>
<p>
<label for="heure">Heure d'engagement :</label>
<input type="time" id="heure" name="heure" value="14:00">
</p>
<p>
<label for="role_pers">Rôle :</label>
<select name="role_pers" id="role_pers">
<option value="1" selected>Gestionnaire</option>
<option value="2">Lecteur</option>
<option value="3">Admin</option>
</select>
</form>
</p>
<input type="submit" value="Valider" />
<input type="reset" value="Annuler" />
</p>
<p>
<input type="submit" value="Valider">
<input type="reset" value="Annuler">
</p>
</form>
<?php
require('footer.php');
<?php require('views/footer.php'); ?>

View file

@ -1,13 +1,10 @@
<?php
require('views/header.php');
<?php require('views/header.php'); ?>
?>
<meta charset="UTF-8">
<nav>
<a id="CRERR_COMPTES" href="../creation_compte_view.php">CRER COMPTES</a>
<a id="MODIFIER_COMPTES" href="../modif_comptes_view.php">MODIFIER COMPTES</a>
<nav class="sub-nav">
<a href="index.php?route=add_utilisateurs_form">Créer un compte</a>
<a href="index.php?route=modif_utilisateurs_form">Modifier un compte</a>
</nav>
<h2>Ajout d'un nouveau compte</h2>
<form action="index.php?route=add_utilisateurs" method="post">
<p>
@ -18,27 +15,24 @@
Prénom : <input type="text" name="prenom" required>
</p>
<p>
<label for="role">Choix du rôle :</label>
<select name="role" id="role" required>
<option value="">-- Sélectionnez un profil --</option>
<option value="GESTIONNAIRE">Gestionnaire</option>
<option value="LECTURE">Lecture (Responsable)</option>
<option value="ADMINISTRATION">Administration</option>
<option value="gestionnaire">Gestionnaire</option>
<option value="lecture">Lecture</option>
<option value="administration">Administration</option>
</select>
</p>
<p>
<p>
NOM DEP : <input type="text" name="nomdep" required>
</p>
<p>
n°tel : <input type="text" name=num_tel" required>
n°tel : <input type="text" name="num_tel" required>
</p>
<p>
<label for="login">Login :</label>
<input type="text" id="login" name="login" required>
@ -52,8 +46,6 @@
<p>
<input type="submit" value="Enregistrer">
</p>
</form>
<?php
<?php require('views/footer.php'); ?>

View file

@ -1,21 +1,28 @@
<?php
//session_start();
// --- NAVIGATION STATIQUE (auth commentée en attendant le système de connexion) ---
// --- NAVIGATION (auth commentée en attendant le système de connexion) ---
$nav = '<li><a href="index.php">Accueil</a></li>';
$nav .= '<li><a href="index.php?route=operations">Opérations</a></li>';
$nav .= '<li><a href="index.php?route=add_utilisateurs_form">Créer un compte</a></li>';
$nav .= '<li><a href="index.php?route=modif_utilisateurs_form">Modifier un compte</a></li>';
// À DÉCOMMENTER quand auth_utilities.php sera chargé :
// À DÉCOMMENTER quand l'auth sera fonctionnelle :
// if (is_logged()) {
// $nav .= '<li><a href="index.php?route=planning">Planning</a></li>';
// $nav .= '<li><a href="index.php?route=sauveteurs">Sauveteurs</a></li>';
// }
// if (has_role('gestionnaire') || has_role('administration')) {
// $nav .= '<li><a href="index.php?route=gestion">Gestion</a></li>';
// }
// if (has_role('administration')) {
// $nav .= '<li><a href="index.php?route=admin">Admin</a></li>';
$nav .= '<li><a href="index.php?route=planning">Planning</a></li>';
$nav .= '<li><a href="index.php?route=sauveteurs">Sauveteurs</a></li>';
$nav .= '<li><a href="index.php?route=gestion">Gestion</a></li>';
$nav .= '<li><a href="index.php?route=admin">Admin</a></li>';
$nav .= '<li><a href="index.php?route=auth" class="nav-right">Connexion</a></li>';
// }
// if (is_logged()) {
// $nav .= '<li><a href="index.php?route=logout" class="nav-right">Déconnexion</a></li>';
// } else {
// $nav .= '<li><a href="index.php?route=auth" class="nav-right">Connexion</a></li>';
// }
// $session = 'Connecté : ' . htmlentities($_SESSION['login']) . ' (' . ($_SESSION['role'] ?: 'lecture') . ')';
$session = 'Non connecté';

View file

@ -1,17 +1,15 @@
<?php
#ceci est la partie "view" de la page de login, le header et le footer ne sont pour l'instant pas actif
error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED);
ini_set('display_errors', 1);
function login_form_view(?string $route) {
#require('header.php');
require('views/header.php');
echo '<h2>Page d\'authentification</h2>';
echo '<p>Merci de vous authentifier pour accéder à cette fonctionnalité.</p>';
echo '<form action="index.php?route=auth&ask=' . $route . '" method="post">';
echo '<p>Login<input type="text" name="login" /></p>';
echo '<p>Mot de passe<input type="passwd" name="password" /></p>';
echo '<p><input type="submit" value="Valider" /></form>';
echo '<p><label>Login :</label> <input type="text" name="login"></p>';
echo '<p><label>Mot de passe :</label> <input type="password" name="password"></p>';
echo '<p><input type="submit" value="Valider"></p>';
echo '</form>';
#require('footer.php');
require('views/footer.php');
}

View file

@ -1,122 +1,88 @@
<?php
// Ce fichier est la vue : il affiche uniquement le HTML
// Les données ($resultComptes, $compteSelectionne, $message) viennent du contrôleur
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Modification d'un compte</title>
</head>
<body>
<?php include('../views/header.php'); ?>
function modif_compte_view(array $comptes, ?array $compte_select) {
require('views/header.php');
?>
<nav class="sub-nav">
<a href="index.php?route=add_utilisateurs_form">Créer un compte</a>
<a href="index.php?route=modif_utilisateurs_form">Modifier un compte</a>
</nav>
<h2>Modifier un compte existant</h2>
<!-- Navigation entre les deux pages de gestion des comptes -->
<nav>
<a href="../views/creation_compte_view.php">Créer un compte</a>
|
<a href="../controllers/modif_compte_ctrl.php">Modifier un compte</a>
</nav>
<table border="1">
<table>
<tr>
<!-- COLONNE GAUCHE : liste de tous les comptes -->
<td>
<!-- COLONNE GAUCHE : liste des comptes -->
<td style="width: 40%; vertical-align: top;">
<h3>Liste des comptes</h3>
<ul>
<?php
// On parcourt tous les comptes récupérés dans la base
while ($compte = mysqli_fetch_assoc($resultComptes)) {
?>
<?php foreach ($comptes as $cpte): ?>
<li>
<!-- Un clic sur le nom envoie l'ID dans l'URL -->
<a href="modif_compte_ctrl.php?id=<?php echo $compte['ID']; ?>">
<?php echo $compte['nom'] . ' ' . $compte['prenom']; ?>
<a href="index.php?route=modif_utilisateurs_form&id=<?= $cpte['ID'] ?>">
<?= htmlentities($cpte['nom'] . ' ' . $cpte['prenom']) ?> (<?= htmlentities($cpte['login']) ?>)
</a>
</li>
<?php } ?>
<?php endforeach; ?>
<?php if (empty($comptes)): ?>
<li>Aucun compte trouvé.</li>
<?php endif; ?>
</ul>
</td>
<!-- COLONNE DROITE : formulaire de modification -->
<td>
<td style="vertical-align: top;">
<h3>Modifier les informations</h3>
<!-- Affichage du message de confirmation si une modification a été faite -->
<?php if ($message != "") { ?>
<p><?php echo $message; ?></p>
<?php } ?>
<?php
// On affiche le formulaire seulement si un compte a été sélectionné
if ($compteSelectionne != null) {
?>
<!-- Le formulaire envoie les données en POST vers le contrôleur -->
<form method="POST" action="../controllers/modif_compte_ctrl.php">
<!-- Champ caché pour transmettre l'ID du compte à modifier -->
<input type="hidden" name="id" value="<?php echo $compteSelectionne['ID']; ?>" />
<?php if ($compte_select !== null): ?>
<form action="index.php?route=modif_utilisateurs" method="post">
<input type="hidden" name="id" value="<?= $compte_select['ID'] ?>">
<p>
Nom :
<input type="text" name="nom" size="40" maxlength="100"
value="<?php echo $compteSelectionne['nom']; ?>" />
<label>Nom :</label>
<input type="text" name="nom" size="40" value="<?= htmlentities($compte_select['nom']) ?>">
</p>
<p>
Prénom :
<input type="text" name="prenom" size="40" maxlength="100"
value="<?php echo $compteSelectionne['prenom']; ?>" />
<label>Prénom :</label>
<input type="text" name="prenom" size="40" value="<?= htmlentities($compte_select['prenom']) ?>">
</p>
<p>
Rôle :
<label>Rôle :</label>
<select name="role">
<!-- On pré-sélectionne le rôle actuel du compte -->
<option value="gestionnaire" <?php if ($compteSelectionne['type'] == 'gestionnaire') echo 'selected'; ?>>Gestionnaire</option>
<option value="lecture" <?php if ($compteSelectionne['type'] == 'lecture') echo 'selected'; ?>>Lecture</option>
<option value="administration" <?php if ($compteSelectionne['type'] == 'administration') echo 'selected'; ?>>Administration</option>
<option value="gestionnaire" <?= $compte_select['type'] === 'gestionnaire' ? 'selected' : '' ?>>Gestionnaire</option>
<option value="lecture" <?= $compte_select['type'] === 'lecture' ? 'selected' : '' ?>>Lecture</option>
<option value="administration" <?= $compte_select['type'] === 'administration' ? 'selected' : '' ?>>Administration</option>
</select>
</p>
<p>
Département :
<input type="text" name="departement" size="10" maxlength="10"
value="<?php echo $compteSelectionne['departement']; ?>" />
<label>Département :</label>
<input type="text" name="nomdep" size="10" value="<?= htmlentities($compte_select['nomdep']) ?>">
</p>
<p>
Numéro de téléphone :
<input type="text" name="numtel" size="20" maxlength="20"
value="<?php echo $compteSelectionne['NumTel']; ?>" />
<label> téléphone :</label>
<input type="text" name="num_tel" size="20" value="<?= htmlentities($compte_select['num_tel']) ?>">
</p>
<p>
Login :
<input type="text" name="login" size="40" maxlength="50"
value="<?php echo $compteSelectionne['login']; ?>" />
<label>Login :</label>
<input type="text" name="login" size="40" value="<?= htmlentities($compte_select['login']) ?>">
</p>
<p>
Nouveau mot de passe :
<!-- Champ vide : si on ne remplit pas, le mot de passe reste inchangé -->
<input type="password" name="passwd" size="40" maxlength="255"
placeholder="Laisser vide pour ne pas modifier" />
<label>Nouveau mot de passe :</label>
<input type="password" name="passwd" size="40" placeholder="Laisser vide pour ne pas modifier">
</p>
<p>
<input type="submit" name="enregistrer" value="Enregistrer" />
<input type="submit" value="Enregistrer les modifications">
</p>
</form>
<?php } else { ?>
<?php else: ?>
<p>Cliquez sur un compte dans la liste pour le modifier.</p>
<?php } ?>
<?php endif; ?>
</td>
</tr>
</table>
<?php include('../views/footer.php'); ?>
</body>
</html>
<?php
require('views/footer.php');
}