suppression des fichiers inutiles / parties de codes inutiles / liens entre lespages
This commit is contained in:
parent
9a3cbdcb81
commit
d8c7540083
13 changed files with 318 additions and 378 deletions
|
|
@ -1,7 +1,4 @@
|
||||||
<?php
|
<?php
|
||||||
error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED);
|
|
||||||
ini_set('display_errors', 1);
|
|
||||||
|
|
||||||
|
|
||||||
function login_ctrl() {
|
function login_ctrl() {
|
||||||
$ask_route = null;
|
$ask_route = null;
|
||||||
|
|
@ -9,55 +6,41 @@ function login_ctrl() {
|
||||||
$ask_route = htmlentities($_GET['ask']);
|
$ask_route = htmlentities($_GET['ask']);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Si le formulaire est soumis (POST), on vérifie, sinon on l'affiche
|
|
||||||
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
||||||
verify_login_ctrl($ask_route);
|
verify_login_ctrl($ask_route);
|
||||||
} else {
|
} else {
|
||||||
login_form_ctrl($ask_route);
|
login_form_ctrl($ask_route);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function verify_login_ctrl(?string $route) {
|
function verify_login_ctrl(?string $route) {
|
||||||
|
$login = isset($_POST['login']) ? htmlentities($_POST['login']) : '';
|
||||||
|
$passwd = isset($_POST['password']) ? $_POST['password'] : '';
|
||||||
|
|
||||||
|
require('models/connection.php');
|
||||||
|
$c = connection();
|
||||||
require('models/user_crud.php');
|
require('models/user_crud.php');
|
||||||
require('config/config.php');
|
|
||||||
|
|
||||||
$login = isset($_POST['login']) ? htmlentities($_POST['login']) : '';
|
$user = recuperation_auth($c, $login);
|
||||||
$passwd = isset($_POST['password']) ? htmlentities($_POST['password']) : '';
|
|
||||||
$user_data = recuperation_auth($connex, $login);
|
|
||||||
|
|
||||||
if ($user_data && $user_data['passwd'] === $passwd) {
|
if ($user && password_verify($passwd, $user['passwd'])) {
|
||||||
|
$_SESSION['login'] = $user['login'];
|
||||||
$_SESSION['login'] = $user_data['login'];
|
$_SESSION['role'] = $user['type'];
|
||||||
$_SESSION['role'] = $user_data['type'];
|
|
||||||
|
|
||||||
// Redirection
|
|
||||||
header('Location: index.php?route=' . $route);
|
header('Location: index.php?route=' . $route);
|
||||||
exit;
|
exit;
|
||||||
} else {
|
} else {
|
||||||
|
echo 'Erreur d\'authentification.';
|
||||||
echo 'Authentication error !!!';
|
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Contrôleur de déconnexion
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
function login_form_ctrl(?string $route) {
|
function login_form_ctrl(?string $route) {
|
||||||
require('views/login_view.php');
|
require('views/login_views.php');
|
||||||
login_form_view($route);
|
login_form_view($route);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Authentication processing
|
|
||||||
*/
|
|
||||||
|
|
||||||
function logout_ctrl() {
|
function logout_ctrl() {
|
||||||
unset($_SESSION);
|
unset($_SESSION);
|
||||||
session_destroy();
|
session_destroy();
|
||||||
require('views/welcome_view.php');
|
require('views/welcome_view.php');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,49 +1,43 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
// On inclut le modèle qui contient les fonctions pour la base de données
|
function modif_utilisateurs_form_ctrl() {
|
||||||
require_once('../models/modif_compte_model.php');
|
require('models/connection.php');
|
||||||
|
$c = connection();
|
||||||
|
require('models/modif_compte_model.php');
|
||||||
|
|
||||||
// On récupère tous les comptes pour afficher la liste à gauche
|
$comptes = get_all_comptes($c);
|
||||||
$resultComptes = getAllComptes($conn);
|
|
||||||
|
|
||||||
// Variable pour stocker le compte sélectionné (null par défaut)
|
$compte_select = null;
|
||||||
$compteSelectionne = 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
|
require('views/modif_compte_view.php');
|
||||||
$message = "";
|
modif_compte_view($comptes, $compte_select);
|
||||||
|
|
||||||
// --- 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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// --- CAS 2 : L'utilisateur a cliqué sur le bouton "Enregistrer" ---
|
function modif_utilisateurs_write_ctrl() {
|
||||||
// On vérifie si le formulaire a été envoyé (méthode POST)
|
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
|
||||||
if (isset($_POST['enregistrer'])) {
|
header('Location: index.php?route=modif_utilisateurs_form');
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
// On récupère les données saisies dans le formulaire
|
$id = (int) $_POST['id'];
|
||||||
$id = $_POST['id'];
|
$nom = htmlentities($_POST['nom']);
|
||||||
$nom = $_POST['nom'];
|
$prenom = htmlentities($_POST['prenom']);
|
||||||
$prenom = $_POST['prenom'];
|
$role = htmlentities($_POST['role']);
|
||||||
$role = $_POST['role'];
|
$nomdep = htmlentities($_POST['nomdep']);
|
||||||
$departement = $_POST['departement'];
|
$num_tel = htmlentities($_POST['num_tel']);
|
||||||
$numtel = $_POST['numtel'];
|
$login = htmlentities($_POST['login']);
|
||||||
$login = $_POST['login'];
|
$passwd = $_POST['passwd'] ?? '';
|
||||||
$passwd = $_POST['passwd'];
|
|
||||||
|
|
||||||
// On appelle la fonction du modèle pour mettre à jour la base de données
|
require('models/connection.php');
|
||||||
updateCompte($conn, $id, $nom, $prenom, $role, $departement, $numtel, $login, $passwd);
|
$c = connection();
|
||||||
|
require('models/modif_compte_model.php');
|
||||||
|
|
||||||
// On prépare un message de confirmation
|
update_compte($c, $id, $nom, $prenom, $role, $nomdep, $num_tel, $login, $passwd);
|
||||||
$message = "Le compte a bien été modifié.";
|
|
||||||
|
|
||||||
// On recharge les infos du compte pour les réafficher dans le formulaire
|
$_SESSION['notification'] = 'Compte modifié avec succès.';
|
||||||
$compteSelectionne = getCompteById($conn, $id);
|
header('Location: index.php?route=modif_utilisateurs_form&id=' . $id);
|
||||||
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
// On affiche la vue
|
|
||||||
require_once('../views/modif_compte_view.php');
|
|
||||||
?>
|
|
||||||
|
|
|
||||||
|
|
@ -1,41 +1,37 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
error_reporting (E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED);
|
|
||||||
ini_set('display_errors', 1);
|
|
||||||
|
|
||||||
|
|
||||||
function add_utilisateurs_form_ctrl() {
|
function add_utilisateurs_form_ctrl() {
|
||||||
require('views/creation_compte_view.php');
|
require('views/creation_compte_view.php');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function add_utilisateurs_write_ctrl() {
|
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'];
|
|
||||||
$role = $_POST['role'];
|
|
||||||
$nomdep = $_POST['nomdep'];
|
|
||||||
$num_tel = $_POST['num_tel'];
|
|
||||||
$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>";
|
|
||||||
require('views/creation_compte_view.php');
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
$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";
|
|
||||||
|
|
||||||
header('Location: index.php');
|
|
||||||
exit();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$nom = $_POST['nom'];
|
||||||
|
$prenom = $_POST['prenom'];
|
||||||
|
$role = $_POST['role'];
|
||||||
|
$nomdep = $_POST['nomdep'];
|
||||||
|
$num_tel = $_POST['num_tel'];
|
||||||
|
$login = $_POST['login'];
|
||||||
|
$mdp = $_POST['mdp'];
|
||||||
|
|
||||||
|
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');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$mdp_hache = password_hash($mdp, PASSWORD_DEFAULT);
|
||||||
|
|
||||||
|
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;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -80,6 +80,22 @@ article {
|
||||||
|
|
||||||
article h2 { color: #3b4a2e; margin-top: 0; }
|
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 */
|
/* TABLEAUX */
|
||||||
table { width: 100%; border-collapse: collapse; margin: 10px 0; }
|
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; }
|
table th { background: #f8f6f0; color: #3b4a2e; padding: 10px; text-align: left; border-bottom: 2px solid #c49a3c; }
|
||||||
|
|
|
||||||
37
index.php
37
index.php
|
|
@ -35,37 +35,13 @@
|
||||||
require('views/welcome_view.php');
|
require('views/welcome_view.php');
|
||||||
break;
|
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':
|
case 'auth':
|
||||||
require('controllers/auth_ctrl.php');
|
require('controllers/auth_ctrl2.php');
|
||||||
login_ctrl();
|
login_ctrl();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'logout':
|
case 'logout':
|
||||||
require('controllers/auth_ctrl.php');
|
require('controllers/auth_ctrl2.php');
|
||||||
logout_ctrl();
|
logout_ctrl();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
@ -79,6 +55,15 @@
|
||||||
add_utilisateurs_write_ctrl();
|
add_utilisateurs_write_ctrl();
|
||||||
break;
|
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':
|
case 'operations':
|
||||||
require('views/operations_view.php');
|
require('views/operations_view.php');
|
||||||
|
|
|
||||||
|
|
@ -1,56 +1,44 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
// On inclut le fichier de connexion à la base de données
|
// Récupère tous les comptes utilisateurs
|
||||||
require_once('../config/config.php');
|
function get_all_comptes(PDO $c): array {
|
||||||
|
$req = "SELECT ID, login, type, nom, prenom, nomdep, num_tel FROM Utilisateur ORDER BY nom, prenom";
|
||||||
// Fonction pour récupérer tous les comptes dans la table Utilisateur
|
$res = $c->query($req);
|
||||||
// On joint avec Sauveteur pour avoir le nom et le prénom
|
$comptes = $res->fetchAll(PDO::FETCH_ASSOC);
|
||||||
function getAllComptes($conn) {
|
$res->closeCursor();
|
||||||
$sql = "SELECT Utilisateur.ID, Utilisateur.login, Utilisateur.type,
|
return $comptes;
|
||||||
Sauveteur.nom, Sauveteur.prenom, Sauveteur.departement, Sauveteur.NumTel
|
|
||||||
FROM Utilisateur
|
|
||||||
JOIN Sauveteur ON Sauveteur.ID = Utilisateur.ID";
|
|
||||||
|
|
||||||
$result = mysqli_query($conn, $sql);
|
|
||||||
return $result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fonction pour récupérer un seul compte à partir de son ID
|
// Récupère un compte par son ID
|
||||||
function getCompteById($conn, $id) {
|
function get_compte_by_id(PDO $c, int $id): ?array {
|
||||||
$sql = "SELECT Utilisateur.ID, Utilisateur.login, Utilisateur.type,
|
$req = "SELECT ID, login, type, nom, prenom, nomdep, num_tel FROM Utilisateur WHERE ID = :id";
|
||||||
Sauveteur.nom, Sauveteur.prenom, Sauveteur.departement, Sauveteur.NumTel
|
$prep = $c->prepare($req);
|
||||||
FROM Utilisateur
|
$prep->bindValue(':id', $id, PDO::PARAM_INT);
|
||||||
JOIN Sauveteur ON Sauveteur.ID = Utilisateur.ID
|
$prep->execute();
|
||||||
WHERE Utilisateur.ID = $id";
|
$compte = $prep->fetch(PDO::FETCH_ASSOC);
|
||||||
|
$prep->closeCursor();
|
||||||
$result = mysqli_query($conn, $sql);
|
return $compte ?: null;
|
||||||
// On retourne directement la ligne du résultat
|
|
||||||
return mysqli_fetch_assoc($result);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fonction pour mettre à jour un compte dans la base de données
|
// Met à jour un compte utilisateur
|
||||||
function updateCompte($conn, $id, $nom, $prenom, $role, $departement, $numtel, $login, $passwd) {
|
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)
|
if (!empty($passwd)) {
|
||||||
$sql1 = "UPDATE Sauveteur
|
$hash = password_hash($passwd, PASSWORD_DEFAULT);
|
||||||
SET nom = '$nom', prenom = '$prenom', departement = '$departement', NumTel = '$numtel'
|
$req2 = "UPDATE Utilisateur SET passwd = :passwd WHERE ID = :id";
|
||||||
WHERE ID = $id";
|
$prep = $c->prepare($req2);
|
||||||
mysqli_query($conn, $sql1);
|
$prep->bindValue(':passwd', $hash);
|
||||||
|
$prep->bindValue(':id', $id, PDO::PARAM_INT);
|
||||||
// Mise à jour de la table Utilisateur (login, type/rôle)
|
$prep->execute();
|
||||||
$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);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,11 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
function recuperation_auth(PDO $c, string $login): ?array {
|
||||||
|
|
||||||
function recuperation_auth(PDO $connex, int $id):array {
|
|
||||||
require('config/config.php');
|
|
||||||
$req = "SELECT login, passwd, type FROM Utilisateur WHERE login = :login";
|
$req = "SELECT login, passwd, type FROM Utilisateur WHERE login = :login";
|
||||||
|
$prep = $c->prepare($req);
|
||||||
$prep = $connex->prepare($req);
|
$prep->bindValue(':login', $login);
|
||||||
$prep->bindValue(':id', $id);
|
|
||||||
$prep->execute();
|
$prep->execute();
|
||||||
$auth = $prep->fetch(PDO::FETCH_ASSOC);
|
$auth = $prep->fetch(PDO::FETCH_ASSOC);
|
||||||
$prep->closeCursor();
|
$prep->closeCursor();
|
||||||
return $auth;
|
return $auth ?: null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
|
}
|
||||||
|
|
@ -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="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>
|
||||||
|
|
||||||
<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>
|
|
||||||
<label for="spe">Spécialité :</label>
|
|
||||||
<select type="number" min="1" placeholder="spécialité" name="spe" >
|
|
||||||
<option value="1" selected="true">Evacuation </option>
|
|
||||||
<option value="2">ASV (assistance victime)</option>
|
|
||||||
<option value="3">Transmission</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>
|
|
||||||
</select>
|
|
||||||
</form></p>
|
|
||||||
<p>
|
<p>
|
||||||
<label for="date">Date d'engagement sur l'opération de secours :</label>
|
<label for="spe">Spécialité :</label>
|
||||||
<input type="date" title="titre" name="ladate" value="unedate" /></p>
|
<select name="spe" id="spe">
|
||||||
<p>
|
<option value="1" selected>Évacuation</option>
|
||||||
<label for="heure">Heure d'engagement sur l'opération de secours :</label>
|
<option value="2">ASV (assistance victime)</option>
|
||||||
<input type="time" title="titre" name="lheure" value="14:00" />
|
<option value="3">Transmission</option>
|
||||||
</p>
|
<option value="4">Conseiller technique (chef)</option>
|
||||||
<form>
|
<option value="5">Gestion</option>
|
||||||
<label for="roles">Rôle :</label>
|
<option value="6">Désobstruction</option>
|
||||||
<select type="number" min="1" placeholder="Rôle" name="role">
|
<option value="7">Médical</option>
|
||||||
<option value="1" selected="true">Gestionnaire </option>
|
<option value="8">Ventilation</option>
|
||||||
<option value="2">Lecteur </option>
|
<option value="9">Pas de spécialité</option>
|
||||||
<option value="3">Admin</option>
|
</select>
|
||||||
</select>
|
</p>
|
||||||
</form>
|
|
||||||
</p>
|
|
||||||
<input type="submit" value="Valider" />
|
|
||||||
<input type="reset" value="Annuler" />
|
|
||||||
|
|
||||||
|
<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>
|
||||||
|
|
||||||
<?php
|
<p>
|
||||||
require('footer.php');
|
<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>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<input type="submit" value="Valider">
|
||||||
|
<input type="reset" value="Annuler">
|
||||||
|
</p>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
<?php require('views/footer.php'); ?>
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,10 @@
|
||||||
<?php
|
<?php require('views/header.php'); ?>
|
||||||
require('views/header.php');
|
|
||||||
|
|
||||||
?>
|
<nav class="sub-nav">
|
||||||
<meta charset="UTF-8">
|
<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>
|
|
||||||
<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>
|
</nav>
|
||||||
|
|
||||||
<h2>Ajout d'un nouveau compte</h2>
|
<h2>Ajout d'un nouveau compte</h2>
|
||||||
<form action="index.php?route=add_utilisateurs" method="post">
|
<form action="index.php?route=add_utilisateurs" method="post">
|
||||||
<p>
|
<p>
|
||||||
|
|
@ -18,28 +15,25 @@
|
||||||
Prénom : <input type="text" name="prenom" required>
|
Prénom : <input type="text" name="prenom" required>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
<label for="role">Choix du rôle :</label>
|
<label for="role">Choix du rôle :</label>
|
||||||
<select name="role" id="role" required>
|
<select name="role" id="role" required>
|
||||||
<option value="">-- Sélectionnez un profil --</option>
|
<option value="">-- Sélectionnez un profil --</option>
|
||||||
<option value="GESTIONNAIRE">Gestionnaire</option>
|
<option value="gestionnaire">Gestionnaire</option>
|
||||||
<option value="LECTURE">Lecture (Responsable)</option>
|
<option value="lecture">Lecture</option>
|
||||||
<option value="ADMINISTRATION">Administration</option>
|
<option value="administration">Administration</option>
|
||||||
</select>
|
</select>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
NOM DEP : <input type="text" name="nomdep" required>
|
NOM DEP : <input type="text" name="nomdep" required>
|
||||||
</p>
|
|
||||||
|
|
||||||
|
|
||||||
<p>
|
|
||||||
n°tel : <input type="text" name=num_tel" required>
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
n°tel : <input type="text" name="num_tel" required>
|
||||||
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
<label for="login">Login :</label>
|
<label for="login">Login :</label>
|
||||||
<input type="text" id="login" name="login" required>
|
<input type="text" id="login" name="login" required>
|
||||||
</p>
|
</p>
|
||||||
|
|
@ -52,8 +46,6 @@
|
||||||
<p>
|
<p>
|
||||||
<input type="submit" value="Enregistrer">
|
<input type="submit" value="Enregistrer">
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
<?php require('views/footer.php'); ?>
|
||||||
<?php
|
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,28 @@
|
||||||
<?php
|
<?php
|
||||||
//session_start();
|
//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">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 :
|
||||||
// $nav .= '<li><a href="index.php?route=planning">Planning</a></li>';
|
// if (is_logged()) {
|
||||||
// $nav .= '<li><a href="index.php?route=sauveteurs">Sauveteurs</a></li>';
|
// $nav .= '<li><a href="index.php?route=planning">Planning</a></li>';
|
||||||
// $nav .= '<li><a href="index.php?route=gestion">Gestion</a></li>';
|
// $nav .= '<li><a href="index.php?route=sauveteurs">Sauveteurs</a></li>';
|
||||||
// $nav .= '<li><a href="index.php?route=admin">Admin</a></li>';
|
// }
|
||||||
|
// if (has_role('gestionnaire') || has_role('administration')) {
|
||||||
$nav .= '<li><a href="index.php?route=planning">Planning</a></li>';
|
// $nav .= '<li><a href="index.php?route=gestion">Gestion</a></li>';
|
||||||
$nav .= '<li><a href="index.php?route=sauveteurs">Sauveteurs</a></li>';
|
// }
|
||||||
$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=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 = 'Connecté : ' . htmlentities($_SESSION['login']) . ' (' . ($_SESSION['role'] ?: 'lecture') . ')';
|
||||||
$session = 'Non connecté';
|
$session = 'Non connecté';
|
||||||
|
|
|
||||||
|
|
@ -1,17 +1,15 @@
|
||||||
|
|
||||||
<?php
|
<?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) {
|
function login_form_view(?string $route) {
|
||||||
#require('header.php');
|
require('views/header.php');
|
||||||
|
|
||||||
echo '<h2>Page d\'authentification</h2>';
|
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 '<form action="index.php?route=auth&ask=' . $route . '" method="post">';
|
||||||
echo '<p>Login<input type="text" name="login" /></p>';
|
echo '<p><label>Login :</label> <input type="text" name="login"></p>';
|
||||||
echo '<p>Mot de passe<input type="passwd" name="password" /></p>';
|
echo '<p><label>Mot de passe :</label> <input type="password" name="password"></p>';
|
||||||
echo '<p><input type="submit" value="Valider" /></form>';
|
echo '<p><input type="submit" value="Valider"></p>';
|
||||||
|
echo '</form>';
|
||||||
|
|
||||||
#require('footer.php');
|
require('views/footer.php');
|
||||||
}
|
}
|
||||||
|
|
@ -1,122 +1,88 @@
|
||||||
<?php
|
<?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>
|
<h2>Modifier un compte existant</h2>
|
||||||
|
|
||||||
<!-- Navigation entre les deux pages de gestion des comptes -->
|
<table>
|
||||||
<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">
|
|
||||||
<tr>
|
<tr>
|
||||||
|
|
||||||
<!-- COLONNE GAUCHE : liste de tous les comptes -->
|
<!-- COLONNE GAUCHE : liste des comptes -->
|
||||||
<td>
|
<td style="width: 40%; vertical-align: top;">
|
||||||
<h3>Liste des comptes</h3>
|
<h3>Liste des comptes</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<?php
|
<?php foreach ($comptes as $cpte): ?>
|
||||||
// On parcourt tous les comptes récupérés dans la base
|
<li>
|
||||||
while ($compte = mysqli_fetch_assoc($resultComptes)) {
|
<a href="index.php?route=modif_utilisateurs_form&id=<?= $cpte['ID'] ?>">
|
||||||
?>
|
<?= htmlentities($cpte['nom'] . ' ' . $cpte['prenom']) ?> (<?= htmlentities($cpte['login']) ?>)
|
||||||
<li>
|
</a>
|
||||||
<!-- Un clic sur le nom envoie l'ID dans l'URL -->
|
</li>
|
||||||
<a href="modif_compte_ctrl.php?id=<?php echo $compte['ID']; ?>">
|
<?php endforeach; ?>
|
||||||
<?php echo $compte['nom'] . ' ' . $compte['prenom']; ?>
|
<?php if (empty($comptes)): ?>
|
||||||
</a>
|
<li>Aucun compte trouvé.</li>
|
||||||
</li>
|
<?php endif; ?>
|
||||||
<?php } ?>
|
|
||||||
</ul>
|
</ul>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<!-- COLONNE DROITE : formulaire de modification -->
|
<!-- COLONNE DROITE : formulaire de modification -->
|
||||||
<td>
|
<td style="vertical-align: top;">
|
||||||
<h3>Modifier les informations</h3>
|
<h3>Modifier les informations</h3>
|
||||||
|
|
||||||
<!-- Affichage du message de confirmation si une modification a été faite -->
|
<?php if ($compte_select !== null): ?>
|
||||||
<?php if ($message != "") { ?>
|
<form action="index.php?route=modif_utilisateurs" method="post">
|
||||||
<p><?php echo $message; ?></p>
|
<input type="hidden" name="id" value="<?= $compte_select['ID'] ?>">
|
||||||
<?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']; ?>" />
|
|
||||||
|
|
||||||
<p>
|
|
||||||
Nom :
|
|
||||||
<input type="text" name="nom" size="40" maxlength="100"
|
|
||||||
value="<?php echo $compteSelectionne['nom']; ?>" />
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Prénom :
|
|
||||||
<input type="text" name="prenom" size="40" maxlength="100"
|
|
||||||
value="<?php echo $compteSelectionne['prenom']; ?>" />
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Rôle :
|
|
||||||
<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>
|
|
||||||
</select>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Département :
|
|
||||||
<input type="text" name="departement" size="10" maxlength="10"
|
|
||||||
value="<?php echo $compteSelectionne['departement']; ?>" />
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Numéro de téléphone :
|
|
||||||
<input type="text" name="numtel" size="20" maxlength="20"
|
|
||||||
value="<?php echo $compteSelectionne['NumTel']; ?>" />
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
Login :
|
|
||||||
<input type="text" name="login" size="40" maxlength="50"
|
|
||||||
value="<?php echo $compteSelectionne['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" />
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
<input type="submit" name="enregistrer" value="Enregistrer" />
|
|
||||||
</p>
|
|
||||||
|
|
||||||
</form>
|
|
||||||
|
|
||||||
<?php } else { ?>
|
|
||||||
<p>Cliquez sur un compte dans la liste pour le modifier.</p>
|
|
||||||
<?php } ?>
|
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<label>Nom :</label>
|
||||||
|
<input type="text" name="nom" size="40" value="<?= htmlentities($compte_select['nom']) ?>">
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<label>Prénom :</label>
|
||||||
|
<input type="text" name="prenom" size="40" value="<?= htmlentities($compte_select['prenom']) ?>">
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<label>Rôle :</label>
|
||||||
|
<select name="role">
|
||||||
|
<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>
|
||||||
|
<label>Département :</label>
|
||||||
|
<input type="text" name="nomdep" size="10" value="<?= htmlentities($compte_select['nomdep']) ?>">
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<label>N° téléphone :</label>
|
||||||
|
<input type="text" name="num_tel" size="20" value="<?= htmlentities($compte_select['num_tel']) ?>">
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<label>Login :</label>
|
||||||
|
<input type="text" name="login" size="40" value="<?= htmlentities($compte_select['login']) ?>">
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<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" value="Enregistrer les modifications">
|
||||||
|
</p>
|
||||||
|
</form>
|
||||||
|
<?php else: ?>
|
||||||
|
<p>Cliquez sur un compte dans la liste pour le modifier.</p>
|
||||||
|
<?php endif; ?>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<?php include('../views/footer.php'); ?>
|
<?php
|
||||||
|
require('views/footer.php');
|
||||||
</body>
|
}
|
||||||
</html>
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue