Bonjour,

j'utilise les sessions pour gérer la connexion à l'espace admin :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 if ($mdp === DEFAULT_ADMIN_PWD) {
            // connexion admin
 
            if (User::isConnected() === false) {
                session_start();
                $_SESSION['is_admin'] = true;
                ...

méthode isConnected :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
public static function isConnected(): bool
    { 
        if (session_status() === PHP_SESSION_ACTIVE) {
            return isset($_SESSION['is_admin']) && $_SESSION['is_admin'] === true;
        }
 
        return false;
    }

Plus loin dans le code, je veux m'assurer qu'on est connecté : User::checkAdminGrants(); et checkAdminGrants :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
public static function checkAdminGrants(): void
    {
        if (self::isConnected() === false) {
            header('location: '.URL_LOCALHOST);
            exit;
        }
    }

Selon la doc (https://www.php.net/manual/en/functi...ion-status.php) session-status devrait retourner PHP_SESSION_ACTIVE mais en fait elle retourne PHP_SESSION_NONE et du coup, au lieu de rester dans l'espace admin, on revient sur la page d'accueil.
Quelle pourrait être la raison ?