PHP - funzione session_destroy ()

Definizione e utilizzo

Le sessioni o la gestione delle sessioni sono un modo per rendere i dati disponibili su varie pagine di un'applicazione web. Ilsession_status() restituisce lo stato della sessione corrente.

Sintassi

session_destroy();

Parametri

Questa funzione non accetta alcun parametro.

Valori restituiti

Questa funzione restituisce un valore booleano che è TRUE se la sessione viene distrutta con successo e FALSE altrimenti.

Versione PHP

Questa funzione è stata introdotta per la prima volta nella versione 4 di PHP e funziona in tutte le versioni successive.

Esempio 1

L'esempio seguente mostra l'utilizzo di session_destroy() funzione.

<?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>

Uno che esegue il file html sopra mostrerà il seguente messaggio:

You have visited this page 1 times in this session.

Il numero nel messaggio continua a cambiare in base al numero di volte in cui aggiorni la pagina senza chiudere il browser. Se aggiorni questa pagina più di 5 volte, la sessione verrà distrutta e verrà visualizzato il seguente messaggio.

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

Esempio 2

Di seguito è riportato un altro esempio di questa funzione, qui abbiamo due pagine della stessa applicazione nella stessa sessione -

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>

Questo produrrà il seguente output:

Facendo clic su Next viene eseguito il file seguente.

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>

Di solito, questo programma dovrebbe visualizzare il nome inserito e i valori di età inseriti nella pagina precedente nella stessa sessione di:

Krishna
30

Poiché abbiamo distrutto la sessione nella prima pagina precedente stessa, facendo clic su Avanti verranno visualizzati i seguenti errori.

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