PHP - session_start() Function

Sessions or session handling is a way to make the data available across various pages of a web application. The session_start() function is used to start a new session or, resume an existing one.
session_start([$options]);

array(Optional)
This is an array representing a set of session options.
This function returns a boolean value which is TRUE if the session started successfully and FALSE if not successful.
This function was first introduced in PHP Version 4 and works in all the later versions.
Following example demonstrates the usage of the session_start() function.
<?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>  
One executing the above html file it will display the following message −
You have visited this page 1 times in this session.

The number in the message keeps changing based on the number of times you refresh the page without closing the browser. For example, if you refresh 10 times, then the same page displays the following message.
You have visited this page 16 times in this session.

Following is another example of this function, in here we have two pages from the same application in the same session −
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>
This will produce the following output −
On clicking on Next the following file is executed.
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>

This will produce the following output −
Krishna
30

You can pass optional array to this function as shown below −
<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>

    45 Lectures 
     9 hours 

 Malhar Lathkar

    34 Lectures 
     4 hours 

 Syed Raza

    84 Lectures 
     5.5 hours 

 Frahaan Hussain

    17 Lectures 
     1 hours 

 Nivedita Jain

    100 Lectures 
     34 hours 

 Azaz Patel

    43 Lectures 
     5.5 hours 

 Vijay Kumar Parvatha Reddy
 Print
 Add Notes
 Bookmark this page