"Sinnlose" Fehlermeldung(?)

  • Themenstarter Themenstarter ByeBye 177919
  • Beginndatum Beginndatum
Was gumbo meinst ist , ob auf deinem Skript es dazu kommen kann, dass die Datei 2 mal inkludiert wird, weil genau das wohl der Fehler ist.
 
Kann es sein, das du die Datei mehrmals einbindest?
Also zum Beispiel eine head.php und eine body.php und dadurch die doppelte Deklaration eintritt?

Ansonsten probier es mal mit [phpf]debug_backtrace[/phpf].
 
Kann es sein, das du die Datei mehrmals einbindest?
Also zum Beispiel eine head.php und eine body.php und dadurch die doppelte Deklaration eintritt?

Ansonsten probier es mal mit [phpf]debug_backtrace[/phpf].

?

Wie schon gesagt....die functions.php wird überall eingebunden...

in login.php ist sie eingebunden, in register.php ist sie eingebunden, in gästebuch.php....usw.

Die Dateien binden sich nicht untereinander ein (also login.php included z.b nicht gästebuch.php oder what ever).

xErY hat gesagt.:
Was gumbo meinst ist , ob auf deinem Skript es dazu kommen kann, dass die Datei 2 mal inkludiert wird, weil genau das wohl der Fehler ist.
Was?

Gumbo hat gesagt.:
Dann ersetz die include mal durch include_once.
Wieso? Es funktionierte bis jetzt alles ja, bis auf den Fehler...

...und der Fehler kam erst als ich mein ACP um ein "News Modul" erweitert hab.

Da mein CMS auf Module aufbaut, heißt es, das jede datei unabhängig ist. Also funktioniert prinzipiel wie eigene mini homepages.

Was ich sagen will: Hab nichts Editiert in anderen Pages. Nur "anews.php" erstellt, editiert - dieser Fehler kam und somit wieder gelöscht.

Und trotzdem besteht dieser Fehler und ich versteh vollkommen nicht wieso :)
 
Und dir Leute was erklären hörst du nicht zu...
Wenn die Funktion doppel deklariert wird, dann includierst du diese Datei wohl 2 mal, wahrscheinlich einmal auf der Hauptseite und dann Einmal im Newsscript.
Außerdem gehe ich mal davon aus, dass die hier anwesenden Personen mit dem Prinzip der Modularität vertraut sind.
Schau nach ob du unnötiger Weise, die Datei 2 mal inkludierst : wenn ja -> einmal entfernen -> fehler weg, bzw wie Felix schon sagte : Include_once.
 
Und dir Leute was erklären hörst du nicht zu...
Wenn die Funktion doppel deklariert wird, dann includierst du diese Datei wohl 2 mal, wahrscheinlich einmal auf der Hauptseite und dann Einmal im Newsscript.
Außerdem gehe ich mal davon aus, dass die hier anwesenden Personen mit dem Prinzip der Modularität vertraut sind.
Schau nach ob du unnötiger Weise, die Datei 2 mal inkludierst : wenn ja -> einmal entfernen -> fehler weg, bzw wie Felix schon sagte : Include_once.

Index.php ist ein include drin, und in jeder andere datei auch.

Index.php included home.php, home.php included alles andere was aufgefordert wird und es ging bis jetzt immer :eek:

Deswegen verstehe ich es nicht...

Und "anews.php" unterschied sich von "gbook.php" so gut wie garnicht - nur die tabellen abfrage war anders (andere tabellen).
 
Wenn nun aber in der „index.php“-Skriptdatei die „functions.php“-Skriptdatei sowie „home.php“ eingebunden wird und in der „home.php“-Skriptdatei ebenfalls die „functions.php“-Skriptdatei, dann wird im Verlauf des gesamten Skriptes die „functions.php“-Skriptdatei zweimal aufgerufen und interpretiert, was bei Funktionsdeklarationen zu genanntem Fehler führt.
Deswegen ja der Vorschlag, include_once oder require_once statt include beziehungsweise require zu verwenden, um mehrfaches Einbinden von Skriptdateien zu verhindern. Du kannst dir ja auch mal mittels get_included_files()-Funktion sämtliche bereits eingebundene Dateien holen und diese ausgeben.
 
Also heißt es das ich überall include entfernen kann?

Den dann brauch ich ja nur im index includen oder nicht?

Weil das geht ja nicht...leider.

Gibt es den ein Befehl womit ich Global includen kann?
 
Du solltest dich für eine Strategie entscheiden, beispielsweise dass grundlegende Funktionen in der „index.php“-Skriptdatei und alle modulspezifischen Funktionen in den einzelnen Modulen deklariert werden beziehungsweise dort eingebunden werden. Denn was du gerade machst sieht so aus als würdest du jede Datei vorsichtshalber einfach überall einbinden.
 
Du solltest dich für eine Strategie entscheiden, beispielsweise dass grundlegende Funktionen in der „index.php“-Skriptdatei und alle modulspezifischen Funktionen in den einzelnen Modulen deklariert werden beziehungsweise dort eingebunden werden. Denn was du gerade machst sieht so aus als würdest du jede Datei vorsichtshalber einfach überall einbinden.

Nein! :(

NUR die functions.php ist überall eingebunden. NUR functions.php.

Sie ist in Login.php, in register.php usw. Weil sie dort benötigt wird.

Die Dateien sind NICHT untereinander eingebunden. Was das heißt: In jeder datei, in jeder einzelnen, ist 1 mal include drin. Und zwar damit functions.php included wird....
 
Zurück