Fehler in function !

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Fehler in function !

    Hallo an alle
    ich packs nicht, kann mir vielleicht jemand sagen warum mir diese function immer
    den Fehler
    Cannot redeclare ddiff() in ... line x
    liefert ??
    die echo-ausgabe klappt, die errechnete differenz passt auch.




    // DATUMdifferenz ERMITTELN
    function ddiff($start, $ende){ <<--- das hier is die line x
    $t1 = (int)substr($start, 0,2);
    $m1 = (int)substr($start, 3,2);
    $j1 = (int)substr($start, 6,4);
    $t2 = (int)substr($ende, 0,2);
    $m2 = (int)substr($ende, 3,2);
    $j2 = (int)substr($ende, 6,4);

    $datum1 = mktime(0,0,0, $m1, $t1, $j1);
    $datum2 = mktime(0,0,0, $m2, $t2, $j2);
    $diff= (integer)(($datum2 - $datum1) / 3600 / 24);
    return $diff;};


    echo ddiff("16-02-2003", "18-02-2003");



    gruß
    michael

  • #2
    drei mögliche Fehlerursachen:

    1. Die Funktion ist tatsächlich mehrmals an verschiedenen Stellen definiert.
    Lösung: alle Definitionen bis auf eine löschen

    2. Die Funktionsdefinition steht in einer Schleife
    Lösung: die Definition vor die Schleife verschieben

    3. Die Datei, in der die Funktion definiert ist, wird über include oder require eingebunden.
    Lösung: include_once bzw. require_once benutzen
    Ist das nicht möglich, da ein anderer Teil der Datei mehrfach benötigt wird, gibt es zwei weitere Möglichkeiten.
    Entweder die Funktion in eine weitere Datei auslagern und diese mit require_once ins erste include einbinden
    oder den folgenden Code um die Funktionsdefinition herum bauen:
    PHP-Code:
    if (!defined('__FN_DDIFF__'))
    {
      
    define ('__FN_DDIFF__'true);
      function 
    ddiff (...)
      {
        ...
      }

    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar

    Lädt...
    X