Когда я пытаюсь запустить свой сайт на localhost, я получаю сообщение об ошибке:
Undefined index: log in ... on line 137
Внутри этого файла есть строка:
if (!$_SESSION['log']) { ...
Все работает на сервере, но не на localhost. Что я могу сделать, чтобы это исправить?
Вероятно, существует разница между уровнем отчетов об ошибках между сервером и вашей локальной установкой.
Если вы хотите проверить, установлена ли переменная (при условии, что сеанс был запущен …), вы должны использовать:
if (!isset($_SESSION['log'])) {
Или, если вы хотите проверить, не установлен ли он и / или пуст или false
:
if (empty($_SESSION['log'])) {
Оба не будут генерировать никаких предупреждений для неустановленных переменных или индексов массива.
Вероятно, он не работает «на сервере», а просто не отображает сообщение об ошибке на странице.
Вы можете исправить предупреждение re: index, изменив выражение if на следующее:
if (isset($_SESSION['log']) && !$_SESSION['log']) {
Или в каком бы состоянии вы не нуждались.