2016-10-21 6 views
-1

Я обновил свой PHP версию, и до сих пор получаю эту ошибку на большинстве моих страниц:Fix Нелегальная строка смещения после обновления PHP

Warning: Illegal string offset in "..." on line 236

После прибегая к помощи и устранение неисправностей в течение нескольких часов, я обнаружил, что ошибка заключается в том, что переменная внутри массива считывается как строка. Я не знаю, как это исправить. Пожалуйста помоги!

Это строка кода, которая вызывает ошибку:

if(isset($_SESSION['email']) && $_SESSION['email']['loggedIn']){ ... } else { ... } 
+0

Какие версии мы говорим здесь? – Luke

ответ

1

Это может быть потому, что $_SESSION["email"] содержит строку, а не массив так $_SESSION["email"]["loggedIn"] не удается.

Вы должны проверить первый is_array($_SESSION["email"])

if(isset($_SESSION['email']) && is_array($_SESSION["email"] && $_SESSION['email']['loggedIn'])

+0

Это сделало трюк! Благодаря! – pixeloft

0

Процесс обновления только включается дисплей ошибок отчетности/ошибок, который был выключен в предыдущей версии, но это было еще ошибка. Это будет убедиться, что он установлен, и что оно не пусто ('', false, null или 0):

if(!empty($_SESSION['email']['loggedIn'])) {