2013-03-14 50 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);

相關問題