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 absurde du genre Cannot redeclare


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 110
    Points : 76
    Points
    76
    Par défaut Message d'erreur absurde du genre Cannot redeclare
    Mon serveur php est un petit rigolo qui me sort de bon matin l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Fatal error: Cannot redeclare filtre() 
    (previously declared in mon_script.php:915) in mon_script.php on line 915
    Mais maintenant que j'ai bien ri j'aimerais bien que ça marche... pouvez-vous m'aider s'il-vous-plait ?
    Un seul point-virgule vous manque et tout est dépeuplé.

  2. #2
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 494
    Points : 6 062
    Points
    6 062
    Par défaut
    Quelque part dans ton code il voit deux fois function filtre() {...} . Dit toi que l'informatique ne ment pas.
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  3. #3
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Points : 3 264
    Points
    3 264
    Par défaut
    les deux fonctions ont l'air d'être définie dans le même script, à la même ligne

    Je suppose donc que tu fais des include ou require pour appeler ce script dans ton script principal.

    Si ce script ne te sert qu'a déclarer des fonctions et ne fais pas de traitement par lui même, remplace tes include par include_once (respectivement: require par require_once)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    N'oubliez pas de cliquer sur quand votre question à trouvé une solution.

    Si vous n'avez pas encore lu les règles du club, mieux vaut tard que jamais!

  4. #4
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 110
    Points : 76
    Points
    76
    Par défaut
    (--> Berceker) Merci de ta réponse mais lis bien le message d'erreur : en gros il me dit que je n'ai pas le droit de déclarer ma fonction à la ligne 915 parce qu'elle est déja déclarée à la ligne 915... d'où le mot 'absurde'...

    (-->Chakal) Merci de ta réponse. Non, je déclare et j'utilise direct en dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function filtre($val){
    <div style="margin-left:40px">if($val != '') {return $val;}</div>}
    --> ici utilisation
    Un seul point-virgule vous manque et tout est dépeuplé.

  5. #5
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 494
    Points : 6 062
    Points
    6 062
    Par défaut
    Citation Envoyé par philippe281281
    (--> Berceker) Merci de ta réponse mais lis bien le message d'erreur : en gros il me dit que je n'ai pas le droit de déclarer ma fonction à la ligne 915 parce qu'elle est déja déclarée à la ligne 915... d'où le mot 'absurde'...

    (-->Chakal) Merci de ta réponse. Non, je déclare et j'utilise direct en dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function filtre($val){
    <div style="margin-left:40px">if($val != '') {return $val;}</div>}
    --> ici utilisation
    Regarde si dans tes extensions filtre n'est pas déjà une fonction existante. J'ai regardé dans la doc, par défaut il n'existe pas de fonction s'appelant ainsi c'est pour ça que je te dis de regarder dans les extensions que tu aurais peut être ajouté.
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  6. #6
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Points : 3 264
    Points
    3 264
    Par défaut
    est-ce que tu ne la déclares pas dans une boucle?

    Le message d'erreur indique que l'interpréteur php tente d'interpréter au moins deux fois cette ligne.
    Il faudrait voir plus en détail dans quel contexte tu déclares ta fonction

    EDIT:
    Par contre, je ne vois pas trop ce que tu veux faire avec ta fonction...

    <blockquote> n'est pas une instruction php...
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    N'oubliez pas de cliquer sur quand votre question à trouvé une solution.

    Si vous n'avez pas encore lu les règles du club, mieux vaut tard que jamais!

  7. #7
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 494
    Points : 6 062
    Points
    6 062
    Par défaut
    Citation Envoyé par MasterOfChakhaL
    est-ce que tu ne la déclares pas dans une boucle?

    Le message d'erreur indique que l'interpréteur php tente d'interpréter au moins deux fois cette ligne.

    Il faudrait voir plus en détail dans quel contexte tu déclares ta fonction
    Effectivement, ou l'include de ce fichier se fait dans un boucle.
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  8. #8
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 110
    Points : 76
    Points
    76
    Par défaut
    Euh pour faire plus simple je l'ai renommée avec un nom dont je suis sûr qu'il n'existe nulle part : 'filtre_gros_bousin'. Ca ne marche pas mieux. Et même si je la renomme 'filtre_qui_marche_nickel' (au cas où 'gros_bousin' porterait la poisse) c'est pareil.
    Un seul point-virgule vous manque et tout est dépeuplé.

  9. #9
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 110
    Points : 76
    Points
    76
    Par défaut
    Merci beaucoup les gars c'est exactement ça ! J'avais pas capté que cette déclaration se situe dans une boucle ! J'avais qu'à déclarer mes fonctions en en-tête comme d'hab, voilà où mène le manque de rigueur ! (*s'autoflagelle*).

    Sinon le blockquote c'est le tag 'tabulation' de l'éditeur du forum qui n'est pas bon apparemment...
    Un seul point-virgule vous manque et tout est dépeuplé.

  10. #10
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Points : 3 264
    Points
    3 264
    Par défaut
    Citation Envoyé par philippe281281
    Euh pour faire plus simple je l'ai renommée avec un nom dont je suis sûr qu'il n'existe nulle part : 'filtre_gros_bousin'. Ca ne marche pas mieux. Et même si je la renomme 'filtre_qui_marche_nickel' (au cas où 'gros_bousin' porterait la poisse) c'est pareil.
    Ce qui n'est pas étnonnant vu le message d'erreur. Ce message ne te parle que de cette ligne de ton script...
    Si la fonction était prédéfinie en PHP, tu aurais eu un message plus tot.

    Chez moi, le fait de mettre ta fonction dans un script me donne ce message:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Parse error: syntax error, unexpected '<'
    Ce qui n'est pas étonnant avec ton <blockquote> (soit tu nous a fait un petit raccourci pour nous montrer la fonction, soit y'a un truc que je pige pas...)

    EDIT: ok pour le coup du blockquote, ca faisait quand même bizarre...
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    N'oubliez pas de cliquer sur quand votre question à trouvé une solution.

    Si vous n'avez pas encore lu les règles du club, mieux vaut tard que jamais!

  11. #11
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 110
    Points : 76
    Points
    76
    Par défaut
    Désolé, messages croisés...
    Un seul point-virgule vous manque et tout est dépeuplé.

  12. #12
    Expert éminent
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 494
    Points : 6 062
    Points
    6 062
    Par défaut
    Affaire résolu donc
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

+ 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: Cannot find file ID 2
    Par glanumf dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 25/05/2007, 16h08
  5. Réponses: 4
    Dernier message: 20/05/2007, 18h14

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