PHP - función session_start ()

Definición y uso

Las sesiones o el manejo de sesiones es una forma de hacer que los datos estén disponibles en varias páginas de una aplicación web. lossession_start() La función se utiliza para iniciar una nueva sesión o reanudar una existente.

Sintaxis

session_start([$options]);

Parámetros

No Señor Descripción de parámetros
1

array(Optional)

Esta es una matriz que representa un conjunto de opciones de sesión.

Valores devueltos

Esta función devuelve un valor booleano que es VERDADERO si la sesión se inició correctamente y FALSO si no tuvo éxito.

Versión PHP

Esta función se introdujo por primera vez en PHP Versión 4 y funciona en todas las versiones posteriores.

Ejemplo 1

El siguiente ejemplo demuestra el uso de session_start() función.

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

Al ejecutar el archivo html anterior, se mostrará el siguiente mensaje:

You have visited this page 1 times in this session.

El número en el mensaje cambia constantemente según la cantidad de veces que actualiza la página sin cerrar el navegador. Por ejemplo, si actualiza 10 veces, la misma página muestra el siguiente mensaje.

You have visited this page 16 times in this session.

Ejemplo 2

A continuación se muestra otro ejemplo de esta función, aquí tenemos dos páginas de la misma aplicación en la misma sesión:

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>

Esto producirá el siguiente resultado:

Al hacer clic en Next se ejecuta el siguiente archivo.

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>

Esto producirá el siguiente resultado:

Krishna
30

Ejemplo 3

Puede pasar una matriz opcional a esta función como se muestra a continuación:

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