Volker: Fehlermeldung über Deklaration einer Fkt

'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

  1. 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

    --
    -------------------
    He is entertaining both out of the car and in the car because if you tell him that a corner is almost flat then he is the guy who is going to try to take it flat even if it means shunting it the other side of it, he will come with the data and say 'hey, I may have crashed and destroyed the car, but I was flat-out'. That is an interesting quality that he has!  --  Team Member on Jacques Villeneuve
    1. 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

      1. 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

        --
        --------------------------------------------------
        http://www.xilp.eu
        XILP Internet Links People
        Dein persoenliches privates Netzwerk
        aus Freunden, Verwandten, Bekannten und Kollegen.
        --------------------------------------------------