La session existe mais il me dit que non
Bonjour,
j'utilise les sessions pour gérer la connexion à l'espace admin :
Code:
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:
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:
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 ?