PHP - funzione session_regenerate_id ()

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_regenerate_id() la funzione genera un nuovo ID di sessione e aggiorna quello corrente con quello appena creato.

Sintassi

session_regenerate_id([$delete_old_session]);

Parametri

Suor n Parametro e descrizione
1

delete_old_session (Optional)

Si tratta di un valore booleano utilizzato per specificare se eliminare o meno il vecchio file di sessione associato. Se passi TRUE come valore, altrimenti non lo fa.

Valori restituiti

Restituisce un valore booleano che è TRUE in caso di successo altrimenti FALSE.

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_regenerate_id() funzione.

<html>   
   <head>
      <title>Setting up a PHP session</title>
   </head>   
   <body>
      <?php  
         //Creating a custom session id
         session_id("my-id");
         //Starting the session
         session_start();   
         print("Id: ".session_id());

         session_regenerate_id();
         echo "<br>";
         print("New Session Id: ".session_id());		 
      ?>
   </body>   
</html>

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

Id: my-id
New Session Id: sm6tplqv1e2dhchnv75d7i3bic

Esempio 2

Di seguito è riportato un altro esempio di questa funzione.

session_page1.htm

<html>
   <body>
      <?php
         //Starting the session	
         $id = session_create_id();	
         session_id($id);
         print("\n"."Id: ".$id);
         session_start();  
        
         session_regenerate_id();
         echo "<br>";
         print("New Session Id: ".session_id());	 
      ?>
   </body>
</html>

Questo produrrà il seguente output:

Id: r30p6i4cnu0qs683lsu8bchv5u
New Session Id: jj24l3eumtps2nudqa0gm843qr

Esempio 3

È possibile rimuovere il file di sessione precedente come mostrato di seguito:

<html>   
   <head>
      <title>Setting up a PHP session</title>
   </head>   
   <body>
      <?php  
         //Creating a custom session id
         session_id("my-id");
         //Starting the session
         session_start();   
         print("Id: ".session_id());

         session_regenerate_id(TRUE);
         echo "<br>";
         print("New Session Id: ".session_id());		 
      ?>
   </body>   
</html>

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

Id: my-id
New Session Id: k5dli3nl4lf6vogu156r4qb0l1