Fehlermeldung über Deklaration einer Fkt
Volker
- php
'n Abend.
Ich bekomme von PHP bei einem Skript folgende Fehlermeldung:
"Fatal error: Cannot redeclare datum()
(previously declared in /path/includes/datumzeit.inc.php:2)
in /path/includes/datumzeit.inc.php on line 7"
Aus dieser Meldung würde ich jetzt schließen, dass ich die Funktion datum() zweimal versuche zu deklarieren, einmal in Zeile 2 und in Zeile 7.
Die datumzeit.inc.php sieht aber so aus (Zeilenangaben nur zur Übersicht):
1 <?php
2 function datum ($datumzeit) {
3 $jahr = substr ($datumzeit, 2, 2);
4 $monat = substr ($datumzeit, 5, 2);
5 $tag = substr ($datumzeit, 8, 2);
6 return ("$tag.$monat.$jahr");
7 }
...
Ergo: Ich deklariere doch nichts doppelt, vor allem nicht in den angegebenen Zeilen.
Wie muss ich den Fehler verstehen?
Gruß, Volker
Hello,
Ergo: Ich deklariere doch nichts doppelt, vor allem nicht in den angegebenen Zeilen.
Wie muss ich den Fehler verstehen?
was verwendest du zum includen? include oder include_once? Wenn du include verwendest könnte der Fehler daher rühren, dass du irgendwo in der Skriptlogik zweimal das Include ausführst, was für PHP zum zweifachen Deklarieren führt.
MfG
Rouven
Wenn du include verwendest könnte der Fehler daher rühren, dass du irgendwo in der Skriptlogik zweimal das Include ausführst, was für PHP zum zweifachen Deklarieren führt.
Tatsache, das habe ich einmal übersehen. Hm, da wäre ich aufgrund der Fehlermeldung nicht drauf gestoßen.
Danke.
Gruß, Volker
Wenn du include verwendest könnte der Fehler daher rühren, dass du irgendwo in der Skriptlogik zweimal das Include ausführst, was für PHP zum zweifachen Deklarieren führt.
Tatsache, das habe ich einmal übersehen. Hm, da wäre ich aufgrund der Fehlermeldung nicht drauf gestoßen.
Danke.
Wobei die IMHO recht deutlich ist: Sie sagt Dir, Du redeklarierst die Funktion... also deklarierst erneut, was den PHP-Parser zwangslaeufig ins Straucheln bringt, denn eine Funktion sollte schon irgendwie eindeutig sein... (sonst weiss der PHP-Parser ja nicht, was er machen soll).
Nick