Как восстановить сессию PHP?

Я понимаю, что PHP хранит идентификатор сессии пользователя в куки под названием "PHPSESSID", который хранится в браузере клиента и сопоставляется с сессией на сервере, чтобы можно было сопоставить 2. После закрытия браузера информация о сессии исчезает, но cookie на клиенте остается. Можно ли использовать этот файл cookie для восстановления старой сессии? Или все данные сессии удаляются с сервера в тот момент, когда клиент закрывает браузер?

Сначала у меня на странице было так:

session_start();
$_SESSION['message'] = 'Hello';

echo $_SESSION['message']; // outputs hello

Потом я изменил страницу на:

$old_session = session_id();
session_id($old_session);
session_start();

echo $_SESSION['message'];

Потом я закрыл браузер и снова открыл его на этой странице и получил эти ошибки:

Warning: session_start() [function.session-start]: The session id is too long or contains illegal characters, valid characters are a-z, A-Z, 0-9 and '-,' in C:\xampp\htdocs\localhost\test.php on line 5

Notice: Undefined index: message in C:\xampp\htdocs\localhost\test.php on line 7

Как именно можно получить информацию о старой сессии после закрытия браузера, возможно ли это вообще?

5
задан DGund 12 January 2012 в 22:19
поделиться