$GLOBALS liefert den Namen eines Defines und nicht den Wert
-
hi,
ich definiere einen Wert global mitdefine('START_SITE', 'News'); ... $DataTable = START_SITE;
in einer Funktion hole ich die Var mit
$DataTable = $GLOBALS['DataTable'];
jetzt gibt es nur das Problem das nun $DataTable den Wert 'START_SITE' und nicht den Wert 'News' hat .....
setze ich aber am Anfang $DataTable nicht auf den Define sondern direkt auf 'News', dann klappts ohne Probleme.
Kann man das umgehen oder wieso macht der überhaupt solchen Mist???
-
hm, evtl. hängst noch woanders. Folgendes gibt bei mir erwartungsgemäß den String 'News' aus:
<? define('START_SITE', 'News'); $DataTable = START_SITE; function test() { $DataTable = $GLOBALS['DataTable']; echo($DataTable); } test(); ?>
-
error_reporting (E_ALL);
Vermutlich wird dann ausgegeben, dass keine Konstante mit dem Namen existiert, wodurch der Konstantenname verwendet wird.
-
manchmal macht man ECHTE sch***e!!! ne ne ne, ich hab die globalen Variablen vor die Includes gezogen, womit natürlich die define noch gar nicht definiert war. ehm, irgendein Mod könnte das hier echt mal löschen!!! Mir ists peinlich :-<