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

commit Navbar,espace_membre sécurisation

parent bc35c0a0
No related branches found
No related tags found
1 merge request!1MergeRequest_1
<?php <?php
require_once '../includes/init.php'; require_once '../includes/init.php';
// Définit la variable $user_name si elle existe dans la session // Vérifie que la session est bien démarrée
$user_name = $_SESSION['user_name'] ?? null; if (session_status() === PHP_SESSION_NONE) {
session_start();
}
// Sécurise les données extraites de la session
$user_name = $_SESSION['user_name'] ?? null;
$user_statut = $_SESSION['user']['statut'] ?? null;
$user_id = $_SESSION['user_id'] ?? null;
?> ?>
<nav class="navbar"> <nav class="navbar">
...@@ -18,15 +24,10 @@ $user_name = $_SESSION['user_name'] ?? null; ...@@ -18,15 +24,10 @@ $user_name = $_SESSION['user_name'] ?? null;
<!-- Liens de navigation principaux --> <!-- Liens de navigation principaux -->
<ul class="nav-links"> <ul class="nav-links">
<li><a href="index.php">Accueil</a></li> <li><a href="index.php">Accueil</a></li>
<!-- Lien dynamique pour les tournois (page commune dans les deux cas ici) -->
<!-- Lien dynamique pour les tournois --> <li><a href="admin_tournois.php">Tournois</a></li>
<?php if (isset($_SESSION['user']['statut']) && $_SESSION['user']['statut'] === 'ADMINISTRATEUR'): ?>
<li><a href="admin_tournois.php">Tournois</a></li>
<?php else: ?>
<li><a href="admin_tournois.php">Tournois</a></li>
<?php endif; ?>
<li class="dropdown"> <li class="dropdown">
<a href="#" class="dropdown-toggle">Club</a> <a href="#" class="dropdown-toggle">Club</a>
<ul class="dropdown-menu"> <ul class="dropdown-menu">
...@@ -35,22 +36,19 @@ $user_name = $_SESSION['user_name'] ?? null; ...@@ -35,22 +36,19 @@ $user_name = $_SESSION['user_name'] ?? null;
<li><a href="infrastructures.php">Nos Installations</a></li> <li><a href="infrastructures.php">Nos Installations</a></li>
</ul> </ul>
</li> </li>
<!-- Ajouter le bouton "Membres" pour les administrateurs --> <!-- Ajouter le bouton "Membres" uniquement pour les administrateurs -->
<?php if (isset($_SESSION['user']['statut']) && $_SESSION['user']['statut'] === 'ADMINISTRATEUR'): ?> <?php if ($user_statut === 'ADMINISTRATEUR'): ?>
<li><a href="admin_membres.php">Membres</a></li> <li><a href="admin_membres.php">Membres</a></li>
<?php endif; ?> <?php endif; ?>
</ul> </ul>
<!-- Boutons Connexion / S'inscrire dans le coin supérieur droit --> <!-- Boutons Connexion / Mon compte / Déconnexion -->
<div class="auth-buttons"> <div class="auth-buttons">
<?php if (isset($_SESSION['user_id']) && !empty($_SESSION['user_id'])): ?> <?php if (!empty($user_id)): ?>
<!-- Utilisateur connecté -->
<a href="espace_membre.php" class="btn">Mon Compte</a> <a href="espace_membre.php" class="btn">Mon Compte</a>
<a href="logout.php" class="btn">Déconnexion</a> <a href="logout.php" class="btn">Déconnexion</a>
<?php else: ?> <?php else: ?>
<!-- Utilisateur non connecté -->
<a href="login.php" class="btn auth-btn">Connexion</a> <a href="login.php" class="btn auth-btn">Connexion</a>
<a href="register.php" class="btn auth-btn">S'inscrire</a> <a href="register.php" class="btn auth-btn">S'inscrire</a>
<?php endif; ?> <?php endif; ?>
......
<?php <?php
require_once '../includes/init.php'; require_once '../includes/init.php';
$pageTitle = "Espace Membre - Tennis Club Saint-Dié"; // Titre de la page $pageTitle = "Espace Membre - Tennis Club Saint-Dié";
include '../includes/header.php'; include '../includes/header.php';
// Simulation d'une session utilisateur (à remplacer par des données réelles) // Assure que la session est démarrée
if (session_status() === PHP_SESSION_NONE) {
session_start();
}
$userId = $_SESSION['user_id'] ?? 1; // Remplacez par votre gestion réelle de session // Vérifie si l'utilisateur est connecté
$pdo = new PDO("mysql:host=localhost;dbname=tennisclub", "root", ""); // Adapter avec vos paramètres if (!isset($_SESSION['user_id'])) {
header('Location: login.php');
exit;
}
// Récupérer les informations principales du membre $userId = $_SESSION['user_id'];
// Connexion à la base de données sécurisée
try {
$pdo = new PDO("mysql:host=localhost;dbname=tennis;charset=utf8mb4", "root", "", [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false
]);
} catch (PDOException $e) {
die("Erreur de connexion à la base de données.");
}
// Récupération des informations principales du membre
$stmt = $pdo->prepare("SELECT nom, prenom, email, date_inscription, mot_de_passe, statut FROM membre WHERE idMembre = ?"); $stmt = $pdo->prepare("SELECT nom, prenom, email, date_inscription, mot_de_passe, statut FROM membre WHERE idMembre = ?");
$stmt->execute([$userId]); $stmt->execute([$userId]);
$membre = $stmt->fetch(PDO::FETCH_ASSOC); $membre = $stmt->fetch();
if (!$membre) {
echo "<p>Utilisateur non trouvé.</p>";
include '../includes/footer.php';
exit;
}
// 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->execute([$userId]);
$infosSupp = $stmtSupp->fetch();
}
?> ?>
<body class="page-container"> <body class="page-container">
<!-- Inclure la barre de navigation -->
<?php include '../includes/navbar.php'; ?> <?php include '../includes/navbar.php'; ?>
<main class="content-wrapper"> <main class="content-wrapper">
<div class="container"> <div class="container">
<!-- Première section : Informations principales --> <!-- Section des informations principales -->
<div class="section"> <div class="section">
<img src="/images/membre-default.jpg" alt="Photo de profil" style="width: 100%; max-height: 300px; object-fit: cover;"> <img src="/images/membre-default.jpg" alt="Photo de profil" style="width: 100%; max-height: 300px; object-fit: cover;">
<h1>Bienvenue, <?= htmlspecialchars($membre['prenom'] . ' ' . $membre['nom']) ?></h1> <h1>Bienvenue, <?= htmlspecialchars($membre['prenom'] . ' ' . $membre['nom']) ?></h1>
...@@ -31,10 +61,9 @@ $membre = $stmt->fetch(PDO::FETCH_ASSOC); ...@@ -31,10 +61,9 @@ $membre = $stmt->fetch(PDO::FETCH_ASSOC);
<p><strong>Mot de passe (haché) :</strong> <?= htmlspecialchars($membre['mot_de_passe']) ?></p> <p><strong>Mot de passe (haché) :</strong> <?= htmlspecialchars($membre['mot_de_passe']) ?></p>
</div> </div>
<!-- Séparation par une ligne droite -->
<hr style="border: 0; border-top: 1px solid #ddd; margin: 20px 0;"> <hr style="border: 0; border-top: 1px solid #ddd; margin: 20px 0;">
<!-- Zone des informations supplémentaires pour les adhérents uniquement --> <!-- Section informations supplémentaires -->
<?php if ($membre['statut'] === 'ADHERENT'): ?> <?php if ($membre['statut'] === 'ADHERENT'): ?>
<div class="section"> <div class="section">
<h2>Informations supplémentaires</h2> <h2>Informations supplémentaires</h2>
...@@ -48,8 +77,8 @@ $membre = $stmt->fetch(PDO::FETCH_ASSOC); ...@@ -48,8 +77,8 @@ $membre = $stmt->fetch(PDO::FETCH_ASSOC);
</div> </div>
<?php endif; ?> <?php endif; ?>
</div> </div>
</main> </main>
<?php include '../includes/footer.php'; ?>
</body>
<?php include '../includes/footer.php'; ?>
</body>
</html> </html>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment