Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
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 07/12/2011, 17h11   #1
Candidat au titre de Membre du Club
 
Homme
Étudiant
Inscription : octobre 2011
Messages : 35
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2011
Messages : 35
Points : 11
Points : 11
Par défaut Fatal error: Call to undefined function tableau2()

Bonjour,

J'ai écrit un fichier de fonctions auquel je fais appel dans un de mes codes, à l'aide d'un include placé en début de code.

Voilà ce que font ces fonctions :
Un première fonction de ce fichier est appelée, elle exécute une requête SQL et me retourne un tableau multidimensionnel contenant les données. J'appelle une deuxième fonction (tableau2) avec comme paramètre mon tableau. Normalement, cette deuxième fonction m'organise mes données dans un tableau HTML.

Là, j'obtiens le message "Fatal error: Call to undefined function tableau2()"

-J'ai testé le tableau créé par la première fonction, il est impec, dont le include fonctionne forcément...
-Sans modifier l'appel de la seconde fonction, je l'ai copié-collé en tête de mon code, le programme ne fait donc plus appel au bout de code que j'ai include, mais au même bout de code, placé au début de mon fichier. Miracle... le tableau s'affiche parfaitement !

Mais alors où est le problème ? Le Include fonctionne car la première fonction fonctionne. Le code de la seconde fonction est bon puisque, placé en entête du fichier, la fonction s’exécute sans problème. L'appel que je fais de la seconde fonction est également bon, pour les mêmes raisons.

Où est le problème ?

Merci d'avance....
Taratis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 17h42   #2
Invité de passage
 
Gaël CRISPYN
Inscription : août 2010
Messages : 16
Détails du profil
Informations personnelles :
Nom : Gaël CRISPYN

Informations forums :
Inscription : août 2010
Messages : 16
Points : 4
Points : 4
Pourrais-tu montrer les deux fichiers php s'il te plait ? (le fichier que tu inclues et celui ou tu effectues le include)
gawel1 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 18h40   #3
Candidat au titre de Membre du Club
 
Homme
Étudiant
Inscription : octobre 2011
Messages : 35
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2011
Messages : 35
Points : 11
Points : 11
En copiant collant les deux fichiers, j'ai eu une idée :
J'ai déplacé l'intégralité de la déclaration de la fonction dans un nouveau fichier PHP, que j'ai également include dans le script pincipal. Résultat : ça fonctionne.
Apparemment, ce qui ne plaît pas au code, c'est qu'il y ai plusieurs fonctions à la suite dans le fichier...
Taratis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 18h53   #4
Candidat au titre de Membre du Club
 
Homme
Étudiant
Inscription : octobre 2011
Messages : 35
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2011
Messages : 35
Points : 11
Points : 11
Pour n'avoir à inclure qu'un seul fichier dans le script, j'ai placé chaque fonction dans un fichier seul, que j'ai ensuite inclut dans celui qui contenaient les fonctions à l'origine (cela me donne 6 includes emboîtés dans 1 seul include).
Cela fonctionne =)

Le problème est "résolu", cela dit, j'aurais aimé savoir d'où il venait, gawel1, tu aurais pas une idée ?
Taratis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/12/2011, 21h01   #5
Membre expérimenté
 
Avatar de Torgar
 
Homme Jérémy
Développeur Web
Inscription : août 2007
Messages : 326
Détails du profil
Informations personnelles :
Nom : Homme Jérémy
Âge : 26
Localisation : France, Gard (Languedoc Roussillon)

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

Informations forums :
Inscription : août 2007
Messages : 326
Points : 535
Points : 535
Envoyer un message via MSN à Torgar Envoyer un message via Skype™ à Torgar
Si tu nous montrais où tu en ai actuellement pour que l'on t'aide plus facilement ?
__________________
Vivez vos rêves !!!

Si vous voulez que l'on vous aide, postez votre code avec la balise [ CODE ] [ /CODE ] (bouton # de l'éditeur)
Torgar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2011, 01h42   #6
Candidat au titre de Membre du Club
 
Homme
Étudiant
Inscription : octobre 2011
Messages : 35
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2011
Messages : 35
Points : 11
Points : 11
Eh bien, comme je viens de le dire j'ai résolu mon problème, donc te montrer monde code n'avancerait plus à rien... En revanche, j'aimerais bien comprendre ce qui dérangeait PHP dans l'inclusion de plusieurs fonctions à la suite, dans un même fichier...
Taratis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2011, 07h52   #7
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 808
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 808
Points : 35 789
Points : 35 789
Citation:
donc te montrer monde code n'avancerait plus à rien...
Ben si... à te dire où est l'erreur
Comment veux-tu qu'on le devine sinon ?
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2011, 09h22   #8
Membre expérimenté
 
Avatar de Torgar
 
Homme Jérémy
Développeur Web
Inscription : août 2007
Messages : 326
Détails du profil
Informations personnelles :
Nom : Homme Jérémy
Âge : 26
Localisation : France, Gard (Languedoc Roussillon)

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

Informations forums :
Inscription : août 2007
Messages : 326
Points : 535
Points : 535
Envoyer un message via MSN à Torgar Envoyer un message via Skype™ à Torgar
Ca fonctionne peut-être, mais ce n'est pas optimisé

Citation:
(cela me donne 6 includes emboîtés dans 1 seul include)
__________________
Vivez vos rêves !!!

Si vous voulez que l'on vous aide, postez votre code avec la balise [ CODE ] [ /CODE ] (bouton # de l'éditeur)
Torgar est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



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


 
 
 
 
Partenaires

Hébergement Web