Как действительно проверяют, пуста ли сессия PHP?

Корректный способ сделать вещи состоит в том, чтобы оставить Apache в 80 и Tomcat в 8 080 и использовать разъем в (предпочтительно mod_proxy) для проксирования Tomcat от Apache. mod_proxy только взял бы Вас 10 минут для установки.

Этот практическое руководство очень просто следовать.

41
задан willdanceforfun 4 May 2013 в 11:48
поделиться

5 ответов

Я бы использовал isset и empty :

session_start();
if(isset($_SESSION['blah']) && !empty($_SESSION['blah'])) {
   echo 'Set and not empty, and no undefined index error!';
}

array_key_exists - хорошая альтернатива использованию isset для проверьте ключи:

session_start();
if(array_key_exists('blah',$_SESSION) && !empty($_SESSION['blah'])) {
    echo 'Set and not empty, and no undefined index error!';
}

Убедитесь, что вы вызываете session_start перед чтением или записью в массив сеанса.

90
ответ дан 27 November 2019 в 00:15
поделиться

Используйте isset , empty или array_key_exists (особенно для ключей массива) перед доступом к переменной, в существовании которой вы не уверены оф. Так что измените порядок во втором примере:

if (!isset($_SESSION['something']) || $_SESSION['something'] == '')
11
ответ дан 27 November 2019 в 00:15
поделиться

вам нужна функция PHP empty ()

6
ответ дан 27 November 2019 в 00:15
поделиться

Если вы хотите проверьте, доступны ли сеансы, возможно, вы захотите использовать функцию session_id () :

session_id () возвращает идентификатор сеанса для текущего сеанса или пустую строку (""
4
ответ дан 27 November 2019 в 00:15
поделиться

Вы можете использовать функцию count (), чтобы узнать, сколько записей находится в массиве $ _SESSION. Это не лучшая практика. Вместо этого вам следует установить идентификатор пользователя (или что-то подобное), чтобы проверить, был ли сеанс инициализирован или нет.

if( !isset($_SESSION['uid']) )
    die( "Login required." );

(Предполагается, что вы хотите проверить, вошел ли кто-то в систему)

5
ответ дан 27 November 2019 в 00:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: