IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Message d'erreur "Cannot redeclare" inexpliqué


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 603
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 603
    Points : 818
    Points
    818
    Par défaut Message d'erreur "Cannot redeclare" inexpliqué
    Bonjour à tous,

    J'ai une fonction:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php
    // Cherche les droits des groupes auquel appartient un utilisateur
    function getUserRightsFromGroups($id_user) {
        global $db;
     
        $query = "
            SELECT k.id_grp, l.access_type, l.rights
            FROM lnk_groups k
                INNER JOIN lst_groups l
                    ON l.id = k.id_grp
            WHERE k.id_ind = :id_ind
        ";
        $result = $db->prepare($query);
        $result->bindParam(':id_ind', $id_user);
        $result->execute();
        $groups = $result->fetchAll();
        return $groups;
    }
    ?>
    Cette fonction me provoque le message d'erreur suivant que je ne m'explique pas:
    Fatal error: Cannot redeclare getUserRightsFromGroups() (previously declared in C:\wamp64\www\proginet\appSirap\_libraries\_routines_app.php:3) in C:\wamp64\www\proginet\appSirap\_libraries\_routines_app.php on line 18
    En effet, ma fonction est déclarée une seule fois. J'ai fait une recherche globale sur tous mes fichiers et elle n'existe nulle part ailleurs.

  2. #2
    Membre éprouvé Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 540
    Points : 1 067
    Points
    1 067
    Par défaut
    Bonsoir, même si la fonction est déclarée une seule fois, il peut avoir des inclusions multiples. Donc à vérifier.
    Exemple d'inclusions multiples:
    • Fichier A = fichier ou j'ai défini ma fonction
    • Inclusion du fichier A dans un fichier B
    • Dans un fichier C, j'inclus et le fichier A et le B

    Dans ce cas de figure le fichier A est inclut 2 fois

    2 solutions, utiliser include_once ou require_once,
    ou utiliser function_exists avant de déclarer la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if (!function_exists('getUserRightsFromGroups')) {
        function getUserRightsFromGroups($id_user) {
            //code ici
        }
    }

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 603
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 603
    Points : 818
    Points
    818
    Par défaut
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 21/09/2010, 17h12
  2. [1.x] Erreur installation, cannot redeclare class sfDoctrineBaseTask
    Par __fabrice dans le forum Symfony
    Réponses: 13
    Dernier message: 31/05/2010, 13h09
  3. Message d`erreur " error:cannot read : src/main/org/pache/tools/bzip2/*.java "
    Par wiss20000 dans le forum RedHat / CentOS / Fedora
    Réponses: 0
    Dernier message: 09/11/2007, 15h36
  4. Message d'erreur absurde du genre Cannot redeclare
    Par philippe281281 dans le forum Langage
    Réponses: 11
    Dernier message: 17/11/2006, 11h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo