PHP - fonction session_destroy ()

Définition et utilisation

Les sessions ou la gestion de session sont un moyen de rendre les données disponibles sur différentes pages d'une application Web. lesession_status() La fonction renvoie le statut de la session en cours.

Syntaxe

session_destroy();

Paramètres

Cette fonction n'accepte aucun paramètre.

Valeurs de retour

Cette fonction renvoie une valeur booléenne qui est TRUE si la session est détruite avec succès et FALSE si non.

Version PHP

Cette fonction a été introduite pour la première fois dans la version 4 de PHP et fonctionne dans toutes les versions ultérieures.

Exemple 1

L'exemple suivant montre l'utilisation du session_destroy() fonction.

<?php
   //Starting the session
   session_start();   
   if( isset( $_SESSION['counter'] ) ) {
      $_SESSION['counter'] += 1;
   } else {
      $_SESSION['counter'] = 1;
   }	
   $msg = "You have visited this page ". $_SESSION['counter'];
   $msg .= " in this session.";
   if ($_SESSION['counter'] >5){
      session_destroy();
      echo "Session Destroyed ";
   }
?>
<html>   
   <head>
      <title>Setting up a PHP session</title>
   </head>   
   <body>
      <?php  echo ( $msg ); ?>
   </body>   
</html>

En exécutant le fichier html ci-dessus, il affichera le message suivant -

You have visited this page 1 times in this session.

Le nombre dans le message change en fonction du nombre de fois que vous actualisez la page sans fermer le navigateur. Si vous actualisez cette page plus de 5 fois, la session sera détruite et le message suivant sera affiché.

Session Destroyed You have visited this page 6 in this session.

Exemple 2

Voici un autre exemple de cette fonction, ici nous avons deux pages de la même application dans la même session -

session_page1.htm

<?php
   if(isset($_POST['SubmitButton'])){ 
      //Starting the session	
      session_start();
      $_SESSION['name'] = $_POST['name'];
      $_SESSION['age']  = $_POST['age'];
      print("Enter the values click Submit and click on Next");
      //Destroying the session
      session_destroy();
   }
?>
<html>
   <body>
      <form action="#" method="post">
         <br>
         <label for="fname">Name:</label>
         <input type="text" id="name" name="name"><br><br>
         <label for="lname">Age:</label>
         <input type="text" id="age" name="age"><br><br>           
         <input type="submit" name="SubmitButton"/>
         <?php echo '<br><br /><a href="session_page2.htm">Next</a>'; ?>
      </form>
   </body>
</html>

Cela produira la sortie suivante -

En cliquant sur Next le fichier suivant est exécuté.

session_page2.htm

<html>   
   <head>
      <title>Second Page</title>
   </head>
   <body>
      <?php
         //Session started
         session_start();
         print($_SESSION['name']); 
         echo "<br>";
         print($_SESSION['age']);
      ?>   
   </body>   
</html>

Habituellement, ce programme doit afficher le nom et l'âge saisis dans la page précédente dans la même session que -

Krishna
30

Puisque nous avons détruit la session dans la première page précédente elle-même, en cliquant sur Suivant, les erreurs suivantes seront affichées.

Notice: Undefined index: name in session_page2.htm on line 9
Notice: Undefined index: age in session_page2.htm on line 11