Seite 1 von 1

Komisches Problem mit PHP

Verfasst: 10.08.2004 12:14
von exweised
Hallo,

ich habe ein merkwürdiges Problem mit PHP, was ich aber eigentlich gar nicht verstehe, warum das so ist.

Also, ich habe eine Configdatei mit einer Variablen drin. Die Configdatei wird per include in die Headerdatei, diese dann per include in die Indexdatei eingefügt. In der Indexdatei wird auch noch eine Inhaltdatei includet, welche eine Variable, die in der Configdatei definiert wurde, verwendet. Leider wird mir der Inhalt dieser Variable nicht angezeigt. Ich hänge mal eine Skizze an, vielleicht hilft das:

[ externes Bild ]

Warum wird mir die Variable nicht angezeigt? Normalerweise müsste das doch funktionieren. Würde ich die Configdatei nochmals in die Inhaltdatei includen, würde mir der Inhalt dieser Variable angezeigt werden. Aber eigentlich halte ich nochmaliges includen für überflüssig, weil es ja auch so laufen müsste.

Hat jemand eine Idee, warum das so nicht funktioniert?

Verfasst: 10.08.2004 12:20
von Mr.Pipapo
Bekommst du denn keine Fehlermeldung?
Notiere mal in der index-Datei den Befehl error_reporting(E_ALL);, vielleicht erhältst du dann eine genauere Fehlermeldung.
Hast du auch erst den Header und dann die Inhaltsdatei includet? Andersrum kann es nicht funktionieren.

Verfasst: 10.08.2004 13:13
von exweised
Durch das error_reporting bekomme ich jetzt eine Fehlermeldung angezeigt.

Code: Alles auswählen

Notice: Undefined variable: variablename in ...
Der Header wird auch vor dem Inhalt includet. Kann eine Switchfunktion in der Indexdatei schuld daran sein?

Verfasst: 10.08.2004 13:59
von k-5
ein switch stört nicht ..

aber .. befindest du dich irgendwo innerhalb einer funktion ..

dann mußt die variable als global definieren ..
( GLOBAL $varibale; )

Verfasst: 10.08.2004 14:43
von exweised
Ah danke, das war der Fehler. :roll: Man, dass ich darauf nicht gekommen bin.

Gibt es eine Möglichkeit alle verfügbaren Variablen in dieser Funktion zu benutzen, ohne das ich erst in dieser Funktion jede Variable als Global definiere?

Verfasst: 10.08.2004 17:56
von k-5
das array $GLOBALS (nochnie verwendet aber sollte dafür gut sein)

am besten is aber ne anständige programmierung .. dann brauchst du kaum globals (die vars die gebraucht werden per parameter übergeben) .. gibt keine unüberschaubaren seiteneffekte ..

(mittlerweile find ich die auto globals bei anderen programmiersprachen _äußerst_ lästig) ..

Verfasst: 10.08.2004 18:01
von Blutgerinsel
k-5 hat geschrieben:(mittlerweile find ich die auto globals bei anderen programmiersprachen _äußerst_ lästig) ..
nicht nur lästig sondern auch blödsinnig.
Frisst nur Performance.....