Что означают эти примеры о фиксации сессии?

Первый пример

<?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() заменит текущий идентификатор сессии новым и сохранит информацию о текущем сеансе."

Другие вопросы по тегам