Вызов session_start() несколько разPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Вызов session_start() несколько раз

Сообщение Anonymous »

Рассмотрим следующий (неполный) PHP-код:

Код: Выделить всё

function renderPage() {

$currentUser = checkConnectionStatus();

if (!strcmp($currentUser, "")) {

renderLoginPage();

} else {

renderContentPage($currentUser);
}
}

function checkConnectionStatus() {

$currentUser = "";

session_start(['cookie_lifetime' => 86400]); // Create a session with a one day lifetime

if (isset($_SESSION["user"])) {

$currentUser = $_SESSION["user"];

error_log("User " . $_SESSION["user"] . " already logged in!");
} else {

error_log("Currently there is no user with a living session on this machine");
}

return $currentUser;
}

function login($username, $password) {

if (isUserInDB($username, $password)) {

session_start(['cookie_lifetime' => 86400]); // Create a session with a one day lifetime

$_SESSION["user"] = $username;

renderPage();
}

}
Здесь функция renderPage() вызывается для визуализации страницы контента, но сначала она проверяет, был ли уже открыт сеанс с клиента, с помощью checkConnectionStatus() . Последний вызывает session_start, устанавливая время жизни cookie равным 86400. После этого вызова загружается $_SESSION$, и, если установлено поле «user», то отображается страница содержимого. в противном случае мы отображаем страницу входа.
При нажатии «Отправить» на странице входа вызывается функция login($username, $password). . Наличие $username и $password проверяется с помощью isUserInDB(). Если это так, вызывается session_start (снова!) и устанавливается поле «user» $_SESSION. Затем снова вызывается renderPage(), что приводит к третьему вызову session_start().
Правильен ли этот подход для реализации входа в систему с автоматическим возобновлением предыдущего создали сеанс в течение последнего дня?
Будут ли многочисленные вызовы session_start сбрасывать срок действия файлов cookie?
Заранее спасибо! п>

Подробнее здесь: https://stackoverflow.com/questions/790 ... eral-times
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»