dedlfix: Notice unitialized String..

Beitrag lesen

Da es mir nicht scheint, als ob meine Vorposter das Problem gelöst hätten, versuche ich mich mal daran.

Notice: Uninitialized string offset: blabablabal...

In der Betroffenen Zeile(n) steht im Prinzip folgendes:

$f=auslesen($db, $sql);

if (!isset ($f) or $f[0]!=""){...

Zuerst mal ist in der if-Anweisung nicht richtig, dass du zwar testest, ob $f existiert, dann jedoch nicht prüfst, ob auch $f[0] existiert.

Desweiteren konnte ich den Fehler nachstellen, indem ich $f = ''; setzte.
Der Fehler kam allerdings nicht mehr wenn $f einen string länger als 0 enthielt. Das verwunderte mich etwas, da ein string ja kein Array-Element mit Index 0 ($f[0]) beinhaltet. Die Doku klärte mich dann auf, dass aus Kompatibilitätsgründen noch die mittlerweile missbilligte []-Syntax zum Zugreifen auf einzelne Zeichen in String funktioniert. Normalerweise macht man das mit {}.

Mein Tipp: mach doch mal ein var_dump($f); (ein echo '<pre>'; vorher ist empfehlenswert) und schau dir Typ und Inhalt an, dann sollte alles etwas klarer werden, hoffe ich.