PHP - função session_regenerate_id ()

Definição e Uso

Sessões ou tratamento de sessão é uma maneira de disponibilizar os dados em várias páginas de um aplicativo da web. osession_regenerate_id() A função gera um novo id de sessão e atualiza o atual com o recém-criado.

Sintaxe

session_regenerate_id([$delete_old_session]);

Parâmetros

Sr. Não Parâmetro e Descrição
1

delete_old_session (Optional)

Este é um valor booleano que é usado para especificar se o arquivo de sessão associado antigo deve ser excluído ou não. Se você passar TRUE como um valor, de outra forma não.

Valores Retornados

Isso retorna um valor booleano que é TRUE em caso de sucesso, senão FALSE.

Versão PHP

Esta função foi introduzida pela primeira vez no PHP Versão 4 e funciona em todas as versões posteriores.

Exemplo 1

O exemplo a seguir demonstra o uso do session_regenerate_id() função.

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

Ao executar o arquivo html acima, será exibida a seguinte mensagem -

Id: my-id
New Session Id: sm6tplqv1e2dhchnv75d7i3bic

Exemplo 2

A seguir está outro exemplo dessa função.

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>

Isso produzirá a seguinte saída -

Id: r30p6i4cnu0qs683lsu8bchv5u
New Session Id: jj24l3eumtps2nudqa0gm843qr

Exemplo 3

Você pode remover o arquivo de sessão mais antigo conforme mostrado abaixo -

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

Ao executar o arquivo html acima, será exibida a seguinte mensagem -

Id: my-id
New Session Id: k5dli3nl4lf6vogu156r4qb0l1