PHP - função session_start ()

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_start() função é usada para iniciar uma nova sessão ou retomar uma existente.

Sintaxe

session_start([$options]);

Parâmetros

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

array(Optional)

Esta é uma matriz que representa um conjunto de opções de sessão.

Valores Retornados

Esta função retorna um valor booleano que é TRUE se a sessão foi iniciada com sucesso e FALSE se não teve sucesso.

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

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

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

You have visited this page 1 times in this session.

O número na mensagem muda constantemente com base no número de vezes que você atualiza a página sem fechar o navegador. Por exemplo, se você atualizar 10 vezes, a mesma página exibirá a seguinte mensagem.

You have visited this page 16 times in this session.

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

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

Isso produzirá a seguinte saída -

Ao clicar em Next o seguinte arquivo é executado.

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>

Isso produzirá a seguinte saída -

Krishna
30

Exemplo 3

Você pode passar array opcional para esta função conforme mostrado abaixo -

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