2013-03-14 2 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']; 
} 

Когда я следую вниз 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. Какой идентификатор? Я этого не понимаю.

+0

Mehdi Hasan ????? – asprin

+0

@asprin да! Mehdi Hasan –

+0

Возможный дубликат [Как php знает, чтобы начать новый сеанс] (http://stackoverflow.com/questions/14382738/how-does-php-know-to-start-a-new-session) – user

ответ

4

Если вы просматриваете файлы cookie, должен быть файл cookie PHPSESSID, который будет содержать случайную строку, используемую PHP для идентификации сеанса. Если он не существует, он создаст новый и установит этот файл cookie (если он сможет это сделать, т. Е. Заголовки еще не отправлены среди других вещей). Попробуйте сделать var_dump($_COOKIE); на try.php.