2016-10-21 2 views
-1

ich meine PHP-Version aktualisiert, und haben auf die meisten meiner Seiten diesen Fehler wurde immer:Fix Illegal String-Offset nach PHP-Update

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

Nach googeln und Fehlersuche für Stunden, habe ich festgestellt, dass die Fehler liegt daran, dass eine Variable in einem Array als String gelesen wird. Ich habe keine Ahnung, wie ich das beheben kann. Bitte helfen Sie!

Dies ist die Codezeile, die den Fehler verursacht:

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

Welche Versionen reden wir hier? – Luke

Antwort

1

Dies könnte, weil $_SESSION["email"] eine Zeichenfolge enthält, kein Array so $_SESSION["email"]["loggedIn"] ausfällt.

sollten Sie zunächst prüfen, is_array($_SESSION["email"])

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

+0

Das hat den Trick gemacht! Vielen Dank! – pixeloft

0

Das Upgrade ist gerade mal auf Fehlermeldungen/Fehleranzeige, die in der vorherigen Version war weg, aber das war immer noch ein Fehler. Diese prüft, ob er eingestellt ist und dass es nicht leer ist ('', false, null oder 0):

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