Position actuelle: Accueil> Derniers articles> Guide de vérification de la session PHP: comment déterminer si une session a commencé

Guide de vérification de la session PHP: comment déterminer si une session a commencé

M66 2025-09-19

Vérifiez si la session a commencé dans PHP

Dans PHP, nous utilisons la fonction intégrée Session_Start () pour démarrer la session. Mais si vous appelez la fonction à plusieurs reprises dans le même script, cela entraînera une erreur. Par conséquent, il est préférable de vérifier si la session a commencé avant d'exécuter session_start () .

Méthode 1: Applicable à PHP 5.4.0 ou moins

Pour les versions antérieures de PHP, vous pouvez vérifier si la session a commencé par vérifier si session_id () est vide.

<?php
if(session_id() == ''){
    session_start();
}
?>

expliquer

Si la session n'est pas démarrée, le code ci-dessus commencera la session pour s'assurer que Session_Start () ne sera pas appelé à plusieurs reprises.

Méthode 2: applicable à PHP 5.4.0 et supérieur

À partir de PHP 5.4.0, vous pouvez utiliser la fonction session_status () pour obtenir l'état actuel de la session. Cette fonction renvoie les trois constantes d'état suivantes:

  • Php_session_disabled: la session est désactivée
  • Php_session_none: la session est activée, mais n'a pas encore commencé
  • Php_session_active: la session est activée et a commencé
<?php
if(session_status() == PHP_SESSION_NONE) {
    session_start();
}
?>

expliquer

Le code détermine si session_status () est php_session_none et démarre la session lorsque la session n'est pas démarrée, évitant ainsi les erreurs causées par des appels répétés à session_start () .

Choses à noter

La fonction session_status () utilisée dans la méthode 2 est uniquement applicable à PHP 5.4.0 et plus, et la version inférieure de PHP nécessite la méthode 1.