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 () .
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(); } ?>
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.
À 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 if(session_status() == PHP_SESSION_NONE) { session_start(); } ?>
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 () .
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.