1

I don't exactly understand how does session_start work ? For example, here is a script named :

tester.php

<html>
 <body> <head> <title> tester.php </title> </head>

   <?php
     session_start();
     $_SESSION['Mir Taqi Mir'] = "Dekh toh dil ke jaan se uthta hai,yeh dhuan sa kahaan se uthta hai";
   ?>

   <a href='./try.php'>Click to follow</a>

 </body>
</html>

and a script named try.php :

session_start();

if(isset($_SESSION['Mir Taqi Mir']))
 {
   echo "Value of the session variable :".$_SESSION['Mir Taqi Mir'];
 }

When I follow down to try.php from tester.php how does session_start know that it has to resume a session and not start a new session ?

The documentation states : session_start() creates a session or resumes the current one based on a session identifier passed via a GET or POST request, or passed via a cookie. What identifier ? I do not understand this.

Suhail Gupta
  • 22,386
  • 64
  • 200
  • 328

1 Answers1

4

If you view your cookies, there should be a PHPSESSID cookie that will contain a random string, which PHP uses to identify a session. If it doesn't exist, it will create a new one and set that cookie (providing it is able to do so, i.e. headers aren't sent yet amongst other things). Try doing a var_dump($_COOKIE); on try.php.

GManz
  • 1,548
  • 2
  • 21
  • 42