Cannot redeclare function [X]

  • Hi leute,
    ich habe jetzt folgendes VOLLKOMMEN unverständliches Problem:
    Wenn ich versuche eine PHP aufzurufen, die die datei functions.php included kommt die Meldung:

    Zitat von MySQL Server bplaced


    Fatal error: Cannot redeclare checkmail() (previously declared in /users/ccforum/www/Site/functions.php:2) in /users/ccforum/www/Site/functions.php on line 9


    aber ich include auch nicht 2 mal in der datei. Woran kann das jetzt liegen?

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

  • Mir fallen 3 Möglichkeiten ein:

    • Die Funktion gibt es in der Datei doppelt
    • Die Funktion gibt es in 2 Dateien
    • Die Datei wird doch 2x included
  • Ich hab danach gesuch. Der string

    Code
    include ("functions.php");
    //oder
    include("functions.php");


    kommt nur einmal vor und anders include ich nicht. 2 mal kann schlacht sein und eigentlich include ich nur functions.php. Aber müsste der Error, wenn er kommt bei z.B. zweimal function checkmail(mail) nicht an der stelle kommen, wo das 2te mal ist? Trotzdem danke.

    P.S. Wenn ich die Funktion mit /* und */ auskommentiere kommt dei gleiche meldung mit der nächsten funktion.

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

  • *glaskugelreib*
    tobse, wie lange biste hier? seit ende märz?
    dann sollteste doch schon herausgefunden haben, dass man in solchen fällen nur mit dem quellcode oder ner zip der ganzen app weiterhelfen kann.

  • OK, wennde meinst. Hier die php die ic aufrufen will und functions.php
    Tschuldigung, dass ich nicht gleich drauf gekommen bin.
    Desktop.zip

    P.S.: Die ucp hats ein wenig zerfezt, ich off man findet sich noch zurecht ;)

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

  • Damit sind wir immer noch bei bandits 3 Möglichkeiten.

    Mit dem Fetzen kann man dir auch nicht mehr sagen. Ich Tippe einfach mal darauf, dass du noch irgendwelche anderen scripte in deiner index sonstwo hast und diese den Funktionsnamen bereits verwenden - nenn deine eigene checkmail einfach anders - z.B. tobse_checkmail() , wenn du dann den Fehler immernoch bekommst - wird es wohl 2 mal Includiert.

  • Schreibe mal vor die Funktion:

    PHP
    <?php
      if (! function_exists("checkmail"))
         echo "Funktion checkmail existiert noch nicht";
      else
         die ("Schade, Funktion checkmail existiert schon");
    ?>
  • Es kommt, dass sie noch nicht existiert-

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

    2 Mal editiert, zuletzt von Tobse (3. Dezember 2009 um 19:42)

  • Genau da ist ja das Problem! Ich hab keine Ahnung wieso, es hat auch mla funktioniert, mit den gleichen Scripten.
    EDIT:
    Hab den fehler gefunden. Er lag in style3.php die output.php included. Dort ahhte ich ausversehen auchnoch included.

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

    Einmal editiert, zuletzt von Tobse (6. Dezember 2009 um 12:40)