session_start如何知道,是恢复还是启动会话?

时间:2013-03-14 06:09:02

标签: php session

我不完全理解session_start是如何工作的?例如,这是一个名为:

的脚本

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>

以及名为try.php的脚本:

session_start();

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

当我从try.php跟进tester.php时,session_start如何知道必须恢复会话而不开始新会话?

documentation州: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.什么标识符?我不明白这一点。

1 个答案:

答案 0 :(得分:4)

如果你查看你的cookie,应该有一个PHPSESSID cookie,它将包含一个随机字符串,PHP用它来识别会话。如果它不存在,它将创建一个新的并设置该cookie(假设它能够这样做,即标题不会发送到其他东西)。尝试在var_dump($_COOKIE);上执行try.php