2013-03-14 94 views
1

我不完全明白session_start是如何工作的?例如,这里有一个名为脚本: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']; 
} 

当我从tester.php随之回落至try.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.什么标识符?我不明白。

+0

Mehdi Hasan ????? – asprin 2013-03-14 06:15:33

+0

@asprin是啊! Mehdi Hasan – 2013-03-14 06:16:35

+0

可能的重复[如何知道开始一个新的会话](http://stackoverflow.com/questions/14382738/how-does-php-know-to-start-a-new-session) – user 2014-03-17 10:33:23

回答

4

如果您查看您的Cookie,应该有一个PHPSESSID cookie,其中包含一个随机字符串,该字符串用于识别会话。如果它不存在,它将创建一个新的并设置该cookie(只要它能够这样做,即头文件还未被发送)。尝试在try.php上执行var_dump($_COOKIE);

相关问题