Ответ 1
В соответствии с Руководство PHP.net:
Если используется
$_SESSION
(или$HTTP_SESSION_VARS
для PHP 4.0.6 или меньше), используйтеisset()
, чтобы проверить переменную зарегистрирован в$_SESSION
.
Facebook теперь предлагает подписки пользователям, чтобы вы могли получать обновления в реальном времени при внесении изменений. Если мое приложение получит обновление, я планирую его сохранить в базе данных. Я также хотел бы узнать, существует ли их сессия. Если это произойдет, я также смогу обновить данные.
Мои идентификаторы сеанса - MD5 (fb_id + secret), поэтому я могу легко редактировать их сеанс. Вопрос в том, как определить, существует ли сеанс.
В соответствии с Руководство PHP.net:
Если используется
$_SESSION
(или$HTTP_SESSION_VARS
для PHP 4.0.6 или меньше), используйтеisset()
, чтобы проверить переменную зарегистрирован в$_SESSION
.
Я использую комбинированную версию:
if(session_id() == '' || !isset($_SESSION)) {
// session isn't started
session_start();
}
Если вы находитесь на php 5.4+, более чистое использование session_status():
if (session_status() == PHP_SESSION_ACTIVE) {
echo 'Session is active';
}
PHP_SESSION_DISABLED
, если сеансы отключены.PHP_SESSION_NONE
, если сеансы включены, но не существует.PHP_SESSION_ACTIVE
, если сеансы включены, а один существует.