Skip to content
Snippets Groups Projects
Commit 56261c9e authored by VoidOma's avatar VoidOma
Browse files

Amélioration de la page d'acceptation de demande adhésion + Sécurastion avec...

Amélioration de la page d'acceptation de demande adhésion + Sécurastion avec ajout d'un token crsf dans detail_demande et correction d'une mauvaise commande SQL dans espace_membre
parent fa0e7d25
No related branches found
No related tags found
1 merge request!1MergeRequest_1
<?php
ob_start();
include '../includes/init.php'; // Connexion PDO et session
include '../includes/header.php';
include '../includes/navbar.php';
......@@ -9,13 +11,13 @@ if (!isset($_SESSION['user']) || $_SESSION['user']['statut'] !== 'ADMINISTRATEUR
exit;
}
// Récupérer l'ID de la demande depuis l'URL
if (!isset($_GET['id'])) {
echo "<p>Identifiant de demande manquant.</p>";
// Vérifier la validité de l'identifiant de la demande
if (!isset($_GET['id']) || !ctype_digit($_GET['id'])) {
echo "<p>Identifiant de demande invalide ou manquant.</p>";
exit;
}
$demandeId = $_GET['id'];
$demandeId = (int) $_GET['id'];
// Récupérer les détails de la demande
$sql = "SELECT d.id, d.date_demande, d.statut, m.idMembre, m.nom, m.prenom, m.email,
......@@ -32,16 +34,30 @@ if (!$demande) {
exit;
}
// Récupérer les fichiers liés à la demande
$sql = "SELECT nom_fichier, chemin_fichier FROM documents WHERE demande_id = :demande_id";
$stmt = $pdo->prepare($sql);
$stmt->execute([':demande_id' => $demandeId]);
$fichiers = $stmt->fetchAll();
// Générer un token CSRF si inexistant
if (empty($_SESSION['csrf_token'])) {
$_SESSION['csrf_token'] = bin2hex(random_bytes(32));
}
// Traitement des actions (Accepter/Rejeter)
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$nouveauStatut = ($_POST['action'] === 'accepter') ? 'Approuvée' : 'Rejetée';
if (!isset($_POST['csrf_token']) || $_POST['csrf_token'] !== $_SESSION['csrf_token']) {
echo "<p>Erreur de sécurité. Jeton CSRF invalide.</p>";
exit;
}
if (!isset($_POST['action']) || !in_array($_POST['action'], ['accepter', 'rejeter'])) {
echo "<p>Action invalide.</p>";
exit;
}
$nouveauStatut = $_POST['action'] === 'accepter' ? 'Approuvée' : 'Rejetée';
// Mettre à jour le statut de la demande
$sql = "UPDATE demandes_adhesion SET statut = :statut WHERE id = :id";
......@@ -59,7 +75,6 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
header("Location: admin_demandes.php");
exit;
}
?>
<div class="details-section">
......@@ -68,7 +83,10 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
<p><strong>Prénom :</strong> <?= htmlspecialchars($demande['prenom']) ?></p>
<p><strong>Email :</strong> <?= htmlspecialchars($demande['email']) ?></p>
<p><strong>Téléphone :</strong> <?= htmlspecialchars($demande['telephone']) ?></p>
<p><strong>Adresse :</strong> <?= htmlspecialchars($demande['adresse']) ?>, <?= htmlspecialchars($demande['ville']) ?>, <?= htmlspecialchars($demande['code_postal']) ?>, <?= htmlspecialchars($demande['pays']) ?></p>
<p><strong>Adresse :</strong> <?= htmlspecialchars($demande['adresse']) ?>,
<?= htmlspecialchars($demande['ville']) ?>,
<?= htmlspecialchars($demande['code_postal']) ?>,
<?= htmlspecialchars($demande['pays']) ?></p>
<p><strong>Date de la demande :</strong> <?= htmlspecialchars($demande['date_demande']) ?></p>
<p><strong>Statut :</strong> <?= htmlspecialchars($demande['statut']) ?></p>
......@@ -77,7 +95,9 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
<ul>
<?php foreach ($fichiers as $fichier): ?>
<li>
<a href="<?= htmlspecialchars($fichier['chemin_fichier']) ?>" target="_blank"><?= htmlspecialchars($fichier['nom_fichier']) ?></a>
<a href="<?= htmlspecialchars($fichier['chemin_fichier']) ?>" target="_blank">
<?= htmlspecialchars($fichier['nom_fichier']) ?>
</a>
</li>
<?php endforeach; ?>
</ul>
......@@ -85,9 +105,9 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
<p>Aucun fichier déposé.</p>
<?php endif; ?>
<!-- Afficher les boutons uniquement si la demande est en attente -->
<?php if ($demande['statut'] === 'En attente'): ?>
<form method="POST">
<input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
<button type="submit" name="action" value="accepter" class="btn2 btn2-success">Accepter</button>
<button type="submit" name="action" value="rejeter" class="btn2 btn2-danger">Rejeter</button>
</form>
......
......@@ -42,7 +42,7 @@ if (!$membre) {
// Récupération des informations supplémentaires si adhérent
$infosSupp = null;
if ($membre['statut'] === 'ADHERENT') {
$stmtSupp = $pdo->prepare("SELECT adresse, date_naissance, telephone FROM informations_membre WHERE idMembre = ?");
$stmtSupp = $pdo->prepare("SELECT adresse, date_naissance, telephone FROM membre WHERE idMembre = ?");
$stmtSupp->execute([$userId]);
$infosSupp = $stmtSupp->fetch();
}
......
File added
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment