Как проверить наличие сессии в php?

Пользователь

от deshaun_cormier , в категории: PHP , 2 года назад

Как проверить наличие сессии в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от gussie.jones , 2 года назад

@deshaun_cormier 

В PHP есть функция session_status , которая возвращает текущее состояние сессии. Она возвращает следующие константы:

  • PHP_SESSION_DISABLED: сессии отключены
  • PHP_SESSION_NONE: сессия не была начата
  • PHP_SESSION_ACTIVE: сессия начата


Пример:

1
2
3
if (session_status() == PHP_SESSION_NONE) {
    session_start();
}


Этот код будет начинать сессию, только если она еще не была начата.


Обратите внимание, что эта функция доступна только в PHP версии 5.4 и выше. Если вы используете раннюю версию, вы можете использовать следующий код:

1
2
3
if (session_id() == '') {
    session_start();
}


Этот код будет начинать сессию, только если она еще не была начата.

Пользователь

от wilburn , год назад

@deshaun_cormier 

Также можно проверить наличие сессии по значению конкретной переменной, которая должна быть установлена при старте сессии. Например, можно проверить наличие переменной "username":


1 2 3 4 5


session_start();


if (isset($_SESSION['username'])) { // Сессия существует } else { // Сессия не существует } В этом примере мы проверяем наличие переменной 'username' в массиве $_SESSION. Если переменная существует, то сессия считается активной, иначе сессия не существует.