PHP - função session_name ()

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_name() A função é usada para nomear a sessão atual ou, recuperar o nome da sessão.

Sintaxe

session_name([$name]);

Parâmetros

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

name(Optional)

Este é um valor de string que representa o nome da sessão, se você quiser definir o nome da sessão usando este método.

Valores Retornados

Se você não tiver passado nenhum parâmetro, esta função retorna um valor de string representando o nome da sessão atual. Se você tiver passado um valor de string para definir o nome da sessão atual, esta função retorna o nome da sessão antiga.

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_name() função.

<html>   
   <head>
      <title>Setting up a PHP session</title>
   </head>   
   <body>
      <?php  
         //Starting the session
         session_start();   
         $name = session_name();
         print("Session Name: ".$name);
      ?>
   </body>   
</html>

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

Session Name: PHPSESSID

Exemplo 2

A seguir está outro exemplo dessa função, aqui temos duas páginas do mesmo aplicativo na mesma sessão -

session_page1.htm

html>
   <body>
      <form action="#" method="post">
         <label for="fname">Enter the values click Submit and click on Next</label>
         <br><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 
            if(isset($_POST['SubmitButton'])){ 
               //Setting the session name	
               session_name("my_session");
               //Starting the session	  
               session_start();  
               $_SESSION['name'] = $_POST['name'];
               $_SESSION['age']  = $_POST['age'];	  
               print("<br><br>Session name: ".session_name());
            }
            echo '<br><br><a href="session_page2.htm">Next</a>';
         ?>
      </form>
   </body>
</html>

Isso produzirá a seguinte saída -

Depois de pressionar enviar, a página ficará como -

Ao clicar em Next o seguinte arquivo é executado.

session_page2.htm

<html>   
   <head>
      <title>Second Page</title>
   </head>
   <body>
      <?php
         //Changing the session name again
         $s_name = session_name();
     
         //Starting a Session
         session_start();
        
         print($_SESSION['name']); 
         echo "<br><br>";
         print($_SESSION['age']); 	  
         echo "<br><br>";
         print("Previous Session Name: ".$s_name);
      ?>   
   </body>   
</html>

Isso produzirá a seguinte saída -

Krishna
30
Previous Session Name: PHPSESSID

Exemplo 3

Você pode definir o nome da sessão personalizada usando esta função conforme mostrado abaixo -

<html>   
   <head>
      <title>Setting up a PHP session</title>
   </head>   
   <body>
      <?php  
         //Starting the session
         session_start();   
         $id = session_create_id("test-");
         print("Id: ".$id);
      ?>
   </body>   
</html>

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

Id: test-es6j8171lluesjrokpvqqb4b4d