• Site web en travaux

  • Programmation Web

    Le web c'est pour vous et nous

    Acceuil Programmation Web article PM91SFT

    Vérifiez si une session PHP est déjà commencé


    Vérifiez si une session PHP est déjà en cours

    Vérifiez si une session PHP est déjà en cours

    Vérifiez si une session PHP est déjà en cours afin d'éviter l'erreur suivante : Notice: A session had already been started - ignoring session_start() in C:\www\monapplication\page.php\

    Il peut vous arriver d’avoir une page PHP qui a démarré une session par session_start() et qui appelle d’autres fichiers PHP par include() ou require_once 'script.php' ;.

    Seulement parmi ces fichiers qui sont appelés, certains peuvent également avoir déjà démarré une session. Par conséquent il se produit une erreur qui vous dit :

    Notice: A session had already been started - ignoring session_start() in C:\www\monprojet\page.php

    Ainsi, PHP propose parmi ses scripts celui-ci pour tester si une session a déjà démarré. Sil elle a commencé, rien ne se passe, mais si aucune session n’a démarré, on la démarrer comme suit:

     

    Méthode recommandée pour les versions de PHP> = 5.4.0, PHP 7

    if (session_status() == PHP_SESSION_NONE) {

        session_start();

    }

     

    Pour les versions de PHP <5.4.0

    if(session_id() == '') {

        session_start();

    }

     

    Pour rappel et informations supplémentaires:

    Une variable de session PHP est une variable stockée sur le serveur.

    C'est une variable temporaire qui a une durée limitée et est détruite à la déconnexion (fermeture du navigateur).

    Les variables de session sont partagées par toutes les pages PHP d'une session (accès depuis un même navigateur). Elles permettent donc le passage d'information entre pages.

     

    session_status () est utilisé pour renvoyer l'état actuel de la session.

    PHP_SESSION_DISABLED si les sessions sont désactivées.

    PHP_SESSION_NONE si les sessions sont activées, mais aucune n'existe.

    PHP_SESSION_ACTIVE si les sessions sont activées et qu'il en existe une.

     

    Pour utiliser les variables de sessions dans un fichier PHP/HTML il faut impérativement utiliser la fonction session_star();

    Ce code permet de charger le fichier contenant les variables de session sur le serveur, ou s'il n'existe pas de la créer.

     

    Pour affecter une valeur à une variable de session c'est simple:

    < ?php

    ...

    $_SESSION['variable'] = valeur ;

    ...

     ?>

    Un tableau association $_SESSION est alors mis à disposition pour gérer des variables.

     

    Fermer une session :

    session_destroy () détruit toutes les données associées à la session en cours. Il ne supprime aucune des variables globales associées à la session, ni ne désactive le cookie de session.

    Pour réutiliser les variables de session, session_start () doit être appelée.

    Remarque : Vous n'avez pas besoin d'appeler session_destroy () à partir du code habituel.

    Nettoyez le tableau $ _SESSION plutôt que de détruire les données de session.

     

    Référence: http://www.php.net/manual/en/function.session-status.php

     



    Commentaires (0)






    Laisser un commentaire

    Connectez-vous pour poster un commentaire


    Voir nos différents prix et commander un produit ou service