PHP - funzione session_start ()

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_start() viene utilizzata per avviare una nuova sessione o riprenderne una esistente.

Sintassi

session_start([$options]);

Parametri

Suor n Parametro e descrizione
1

array(Optional)

Questo è un array che rappresenta un insieme di opzioni di sessione.

Valori restituiti

Questa funzione restituisce un valore booleano che è TRUE se la sessione è iniziata correttamente e FALSE se non riesce.

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_start() 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.";
?>
<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. Ad esempio, se aggiorni 10 volte, la stessa pagina visualizza il seguente messaggio.

You have visited this page 16 times 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'];
   }
?>
<html>
   <body>
      <form action="#" method="post">
         <br?> <label for="fname">Enter the values click Submit and click on Next</label?> <label for="fname"?>Name:</label>
         <input type="text" id="name" name="name"><br><br>
         <label for="lname"?>Age:
         <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>

Questo produrrà il seguente output:

Krishna
30

Esempio 3

È possibile passare un array opzionale a questa funzione come mostrato di seguito:

<html>   
   <head>
      <title>Setting up a PHP session</title>
   </head>   
   <body>
      <?php
         //Starting the session
         $options = ['cookie_lifetime' => 86400,'read_and_close'  => true];
         session_start($options);   
      ?>  
   </body>   
</html>