Проверьте, установлен ли сеанс или нет, и если нет, создайте его? - PullRequest
8 голосов
/ 01 августа 2011

Я хочу проверить, установлен ли сеанс в данный момент, и если да, разрешить странице работать как обычно (ничего не делать), если не создать сеанс.

Я посмотрел еще один вопрос SO, в котором был опубликован следующий код:

if ( empty( $_SESSION['login'] )) { } else { }

Будет ли самый простой способ сделать это, установить что-то вроде $_SESSION['a'] для каждого сеанса, а затем запустить if(empty($_SESSION['a'])), чтобы проверить, существует ли сеанс?

Опять же, можете ли вы использовать переменную сеанса, прежде всего не вызывая session_start (), что делает ее устаревшей (хотя я попытался сделать это вчера, как эхо, а не оператор if, чтобы проверить, что переменная проходила без понимая, что session_start () необходимо вызвать, прежде чем я смогу отобразить переменную).

Вероятно, есть простой способ, который часто используют, но я просто не могу его найти.

Любая помощь будет принята с благодарностью!

1 Ответ

23 голосов
/ 01 августа 2011

session_id() возвращает строку, идентифицирующую текущий сеанс. Если сеанс не был инициализирован, он вернет пустую строку.

 if(session_id())
 {
      // session has been started
 }
 else
 {
      // session has NOT been started
      session_start();
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...