Komisches Problem mit PHP

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
exweised
Mitglied
Beiträge: 123
Registriert: 22.05.2004 17:28

Komisches Problem mit PHP

Beitrag 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?
Mr.Pipapo
Mitglied
Beiträge: 377
Registriert: 16.10.2003 19:18
Wohnort: München
Kontaktdaten:

Beitrag 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.
exweised
Mitglied
Beiträge: 123
Registriert: 22.05.2004 17:28

Beitrag 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?
Benutzeravatar
k-5
Mitglied
Beiträge: 166
Registriert: 05.06.2003 23:21
Wohnort: soa kaff
Kontaktdaten:

Beitrag 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; )
ich will mein auto polieren ! ..

ja .. ich weiß .. man kann das mit nem lappen machen .. aber ICH will unbedingt nen hammer nehmen .. WIE geht das :)
exweised
Mitglied
Beiträge: 123
Registriert: 22.05.2004 17:28

Beitrag 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?
Benutzeravatar
k-5
Mitglied
Beiträge: 166
Registriert: 05.06.2003 23:21
Wohnort: soa kaff
Kontaktdaten:

Beitrag 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) ..
ich will mein auto polieren ! ..

ja .. ich weiß .. man kann das mit nem lappen machen .. aber ICH will unbedingt nen hammer nehmen .. WIE geht das :)
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag 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.....
Antworten

Zurück zu „Coding & Technik“