Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/11/2006, 10h46   #1
Membre du Club
 
Inscription : avril 2006
Messages : 110
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 110
Points : 53
Points : 53
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 :
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é.
philippe281281 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2006, 10h52   #2
Expert Confirmé
 
Avatar de berceker united
 
Développeur informatique
Inscription : février 2005
Messages : 2 982
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 2 982
Points : 3 567
Points : 3 567
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 !...
berceker united est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2006, 11h09   #3
Rédacteur
 
Avatar de MasterOfChakhaL
 
Homme
Développeur Web
Inscription : juin 2004
Messages : 2 148
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : Conseil

Informations forums :
Inscription : juin 2004
Messages : 2 148
Points : 2 628
Points : 2 628
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)
MasterOfChakhaL est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2006, 11h11   #4
Membre du Club
 
Inscription : avril 2006
Messages : 110
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 110
Points : 53
Points : 53
(--> 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 :
1
2
3
4
 
function filtre($val){<blockquote>if($val != '') {return $val;}
</blockquote>}
--> ici utilisation
__________________
Un seul point-virgule vous manque et tout est dépeuplé.
philippe281281 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2006, 11h17   #5
Expert Confirmé
 
Avatar de berceker united
 
Développeur informatique
Inscription : février 2005
Messages : 2 982
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 2 982
Points : 3 567
Points : 3 567
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 :
1
2
3
4
 
function filtre($val){<blockquote>if($val != '') {return $val;}
</blockquote>}
--> 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 !...
berceker united est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2006, 11h19   #6
Rédacteur
 
Avatar de MasterOfChakhaL
 
Homme
Développeur Web
Inscription : juin 2004
Messages : 2 148
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : Conseil

Informations forums :
Inscription : juin 2004
Messages : 2 148
Points : 2 628
Points : 2 628
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...
MasterOfChakhaL est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2006, 11h21   #7
Expert Confirmé
 
Avatar de berceker united
 
Développeur informatique
Inscription : février 2005
Messages : 2 982
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 2 982
Points : 3 567
Points : 3 567
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 !...
berceker united est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2006, 11h25   #8
Membre du Club
 
Inscription : avril 2006
Messages : 110
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 110
Points : 53
Points : 53
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é.
philippe281281 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2006, 11h29   #9
Membre du Club
 
Inscription : avril 2006
Messages : 110
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 110
Points : 53
Points : 53
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é.
philippe281281 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2006, 11h30   #10
Rédacteur
 
Avatar de MasterOfChakhaL
 
Homme
Développeur Web
Inscription : juin 2004
Messages : 2 148
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 32
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : Conseil

Informations forums :
Inscription : juin 2004
Messages : 2 148
Points : 2 628
Points : 2 628
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 :
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...
MasterOfChakhaL est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2006, 11h32   #11
Membre du Club
 
Inscription : avril 2006
Messages : 110
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 110
Points : 53
Points : 53
Désolé, messages croisés...
__________________
Un seul point-virgule vous manque et tout est dépeuplé.
philippe281281 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2006, 11h35   #12
Expert Confirmé
 
Avatar de berceker united
 
Développeur informatique
Inscription : février 2005
Messages : 2 982
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : février 2005
Messages : 2 982
Points : 3 567
Points : 3 567
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 !...
berceker united est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h31.


 
 
 
 
Partenaires

Hébergement Web