Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème avec fonction erreur : Cannot redeclare

Sujet résolu
    18 janvier 2018 à 1:04:16

    Bonsoir,

    j'ai un soucis avec une fonction.

    1- j'ai un script qui boucle pour créer des dates dans une table. (ex : creation.php)

    2- Ce script appel à chaque boucle un fichier php contenant une fonction pour vérifier s'il s'agit d'une date fériée. (ex : controle.php)

    function isNotWorkable($date)
    	{

    dans mon fichier creation.php : Je fais  include 'controle.php'

    la premiere date se crait bien mais ensuite j'ai l'erreur :Cannot redeclare isNotWorkable()

    J'ai testé avec require et meme problème.

    Le problème provient certainement que la fonction est déjà déclarée vu qu'elle a déjà était lancée.

    Comment peut on remédier à ce problème?

    A la fin de la fonction j'ai :

    ...
    return in_array($date, $holidays);
    }

    Merci

    Klorane



    -
    Edité par klorane50 18 janvier 2018 à 1:06:13

    • Partager sur Facebook
    • Partager sur Twitter
      18 janvier 2018 à 1:42:42

      Salut,

      > Ce script appel à chaque boucle un fichier php contenant une fonction pour vérifier s'il s'agit d'une date fériée. (ex : controle.php)

      Pourquoi ? ça peut être la cause de l'erreur.

      Sinon montre un peu plus de code.

      • Partager sur Facebook
      • Partager sur Twitter
      le bienfait n'est jamais perdu
        18 janvier 2018 à 4:11:00

        Tu ne peux inclure une fonction qu'une seule fois, sinon tu aurais deux fonctions portant le même nom dans ta page, ce qui est impossible.

        Tu peux faire un "include_once" qui n'inclura qu'une seule fois, mais regarde tout de même d'où vient ton erreur.

        • Partager sur Facebook
        • Partager sur Twitter
          18 janvier 2018 à 13:55:31

          il semblerait qu avec les fichiers de fonction, il faille appeler le fichier en debut de script faire un :  include_once ... et à l'endroit ou l'on veut appeler la fonction faire : nomdelafonction();

          moi je faisais directement un include à l'endroit oui je voulais executer la fonction et comem il y a une boucle ça l'ouvre plusieurs fois.

          -
          Edité par klorane50 18 janvier 2018 à 13:57:04

          • Partager sur Facebook
          • Partager sur Twitter
            18 janvier 2018 à 14:40:40

            Dans ce cas, fais l'include avant la boucle.
            • Partager sur Facebook
            • Partager sur Twitter
              18 janvier 2018 à 15:53:50

              c'est se que j'ai fait. maintenant j'ai le soucis pour faire passer une variable dans la fonction mais ça fait plutôt l'objet d'un autre sujet
              • Partager sur Facebook
              • Partager sur Twitter

              Problème avec fonction erreur : Cannot redeclare

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown