Sönke Tesch: undefinierte Variable

Beitrag lesen

Trotz 'register_globals=On' bekomme ich unzählige Fehlermeldungen, die mir undefinierte Variablen melden.

Das sind lediglich Warnungen, die kommen, wenn man Variablen ausliest, ohne vorher etwas reingeschrieben zu haben. Ein sehr weit verbreitetes Problem leicht unsauber geschriebener Skripte, weil man in PHP Variablen nicht vorher deklarieren muß wie in anderen Sprachen. Die meisten Leute greifen dann einfach auf die Variable zu, zum Beispiel:

if ($hallo) tue_irgendwas();

Hast Du nicht vorher irgendwo eine Zeile

$hallo=""; // oder ähnliches

stehen oder wird $hallo nicht durch PHP selbst erzeut (z.B. durch ein URL-Argument), wird PHP Dir beim if eine Warnung ausgeben, daß $hallo (noch) nicht existiert - was letztenendes auch logisch ist, wo nix drin ist, kann man auch nix rausholen.

Du kannst Dir entweder die Mühe machen und Deine Skripte entsprechend aufräumen (isset() wirst Du sicher hier und da benötigen) oder aber kurzerhand den Warnungen den Hals umdrehen (weniger schön, aber schneller). Den Namen der Einstellung habe ich im Moment nicht im Kopf, schau einfach mal in Deine php.ini, da ist irgendwo eine Zeile, in der Du einstellen kannst, welche Warnungen und Fehlermeldungen ausgegeben werden sollen.

Gruß,
  soenk.e