Что означают эти примеры о фиксации сессии?
Первый пример
<?php
session_start();
if(!isset($_SESSION['count'])) $_SESSION['count'] = 0;
else ++$_SESSION['count'];
echo $_SESSION['count'] . "<br />";
?>
второй пример
<?php
session_start();
if(!isset($_SESSION['initiated']))
{
session_regenerate_id();
$_SESSION['initiated'] = 1;
}
if(!isset($_SESSION['count'])) $_SESSION['count'] = 0;
else ++$_SESSION['count'];
echo $_SESSION['count'] . "<br />";
Единственное, что я могу найти, это то, что если я использую два разных URL (например, http//localhost/test?PHPSESSID=123; http//localhost/test?PHPSESSID=456), первый сценарий снова будет отсчитываться с нуля, но второй будет продолжать считать
так что означают два примера? и что он хочет мне сказать?
2 ответа
session_regenerate_id(), если это возможно, отправит файл cookie, чтобы сохранить детали сеанса. Думайте об этом как о расширенной сессии для пользователя. Так что, если пользователь закрывает свой браузер, пользовательский сеанс может быть вызван.
Извините, мой первый ответ был слишком поспешным. Проверьте это. PHP.net говорит:
msgstr "session_regenerate_id() заменит текущий идентификатор сессии новым и сохранит информацию о текущем сеансе."