diff --git a/assets/pasted-20260305-003726-8061b9fc.png b/assets/pasted-20260305-003726-8061b9fc.png new file mode 100644 index 0000000..1a25d07 Binary files /dev/null and b/assets/pasted-20260305-003726-8061b9fc.png differ diff --git a/debug_access.php b/debug_access.php new file mode 100644 index 0000000..5ee9fae --- /dev/null +++ b/debug_access.php @@ -0,0 +1,25 @@ +Diagnostic d'accès à la console GM"; +if (!isset($_SESSION['user_id'])) { + die("Erreur: Non connecté (pas de session user_id)."); +} +$user_id = $_SESSION['user_id']; +echo "
Session User ID: $user_id
"; +$user_stmt = $db->prepare("SELECT id, username, role FROM users WHERE id = ?"); +$user_stmt->execute([$user_id]); +$current_user = $user_stmt->fetch(); +if (!$current_user) { + die("Erreur: Utilisateur avec ID $user_id introuvable en base de données.
"); +} +echo "User trouvé en base:
"; +echo "" . print_r($current_user, true) . ""; +$role = $current_user['role']; +if ($role === 'admin' || $role === 'gm') { + echo "
ACCÈS AUTORISÉ. Le rôle est '$role'.
"; +} else { + echo "ACCÈS REFUSÉ. Le rôle est '$role' (doit être 'admin' ou 'gm').
"; +} +?> \ No newline at end of file diff --git a/debug_session.php b/debug_session.php new file mode 100644 index 0000000..59d0882 --- /dev/null +++ b/debug_session.php @@ -0,0 +1,36 @@ +Diagnostic de session"; + +if (!isset($_SESSION['user_id'])) { + echo "Erreur : Aucune session active trouvée (user_id manquant).
"; + echo "Veuillez vous connecter via auth.php.
User ID en session : " . htmlspecialchars($uid) . "
"; + + try { + $db = db(); + $stmt = $db->prepare("SELECT username, role FROM users WHERE id = ?"); + $stmt->execute([$uid]); + $user = $stmt->fetch(PDO::FETCH_ASSOC); + + if ($user) { + echo "Utilisateur en base : " . htmlspecialchars($user['username']) . "
"; + echo "Rôle en base : " . htmlspecialchars($user['role']) . "
"; + + if ($user['role'] === 'admin' || $user['role'] === 'gm') { + echo "Le rôle est correct pour accéder à la console GM.
"; + } else { + echo "Le rôle est insuffisant (attendu : admin ou gm).
"; + } + } else { + echo "Utilisateur non trouvé en base de données.
"; + } + } catch (Exception $e) { + echo "Erreur DB : " . htmlspecialchars($e->getMessage()) . "
"; + } +} +?>