В чем разница между session_create_id и session_regenerate_id ()?

Док говорит

session_create_id() используется для создания нового идентификатора сеанса для текущего сеанса.
session_regenerate_id() Обновите текущий идентификатор сеанса с новым сгенерированным.

Есть ли разница между этими двумя функциями?

2

Решение

Да, есть разница, session_create_id() создаст новый sessionId, отбрасывающий текущий $_SESSION информация, где как session_regenerate_id() не уничтожает их, а просто обновляет sessionId

Приведено из: http://php.net/manual/en/function.session-create-id.php & http://php.net/manual/en/function.session-regenerate-id.php

2

Другие решения

session_create_id

Создать новый идентификатор сессии

session_regenerate_id

Обновите текущий идентификатор сеанса с новым сгенерированным

Пример использования из руководства:

$old_sessionid = session_id();

// Set destroyed timestamp
$_SESSION['destroyed'] = time(); // Since PHP 7.0.0 and up, session_regenerate_id() saves old session data

// Simply calling session_regenerate_id() may result in lost session, etc.
// See next example.
session_regenerate_id();

// New session does not need destroyed timestamp
unset($_SESSION['destroyed']);

$new_sessionid = session_id();

echo "Old Session: $old_sessionid<br />";
echo "New Session: $new_sessionid<br />";

print_r($_SESSION);

Что приводит нас к следующему вопросу — почему и когда вы должны его использовать, есть подробный ответ в эта ссылка.

1

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector