L3 Info : PHP et Applications Web
 
◃  Ch. 2 Les sessions  ▹
 

Fin de session

  • La fonction session_destroy() détruit toutes les données associées à la session courante.
  • Cette fonction ne détruit pas les variables globales associées à la session, de même, elle ne détruit pas le cookie de session.
  • Avant de clore une session, il faut la réactiver !
  • Source session3.php :
    <?php
    session_start();
    // pour effacer les variables de session
    session_unset(); // ou bien $_SESSION = array();
    // pour supprimer la session en cours
    session_destroy();
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head><title>session PHP</title></head>
    <body>
    <p>
    
    <?php
    echo "<p>id de session : ".session_id()."</p>";
    if (isset($_SESSION['compteur'])) {
       echo '<p>compteur : ' . $_SESSION['compteur'] . '</p>';
    }
    else
       echo '<p>La variable $_SESSION[\'compteur\'] n\'esiste pas. </p>';
    echo "<p><a href='session1.php'>retour &agrave; session1.php</a></p>";
    echo "<p><a href='session2.php'>session2.php</a></p>";
    ?>
    
    </p>
    </body>
    </html>
    
  • Exemple :
    <?php
        session_destroy();
        if (isset($_SESSION['heure']))
            echo 'Les variables de session restent accessibles malgré le session_destroy ! '. $_SESSION['heure'];
        else
            echo "Plus de date en mémoire après le reload.";
    ?>
  • Plus de date en mémoire après le reload.