Avatar ·

Comment vérifier si une session PHP est déjà démarrée et éviter l'erreur « headers already sent »

Bonjour à tous ! Je suis débutant en PHP et je développe un petit site avec authentification. J'ai plusieurs scripts qui travaillent avec les sessions. Dans un fichier, je démarre la session avec session_start(), puis j'inclus d'autres fichiers via include. Le problème est que si j'appelle accidentellement session_start() deux fois dans différents fichiers, PHP génère une erreur : Warning : session_start() : Cannot send session cookie - headers already sent Je comprends que cette erreur se produit parce que les en-têtes ont déjà été envoyés, et un second appel à session_start() est impossible. Mais comment puis-je vérifier si une session est déjà démarrée pour éviter d'appeler session_start() à nouveau ? J'ai essayé d'utiliser @ au début pour supprimer l'erreur, mais c'est une mauvaise pratique, d'après ce que j'ai compris. Voici un exemple de mon code : // config.php session_start(); $_SESSION['user'] = 'admin'; // page.php include 'config.php'; session_start(); // Ici, cela génère une erreur si config.php a déjà appelé session_start() J'ai besoin de quelque chose comme : if (session_not_started)