[RESOLU] Fatal error: Call to undefined function ??

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Fatal error: Call to undefined function ??

Re: Fatal error: Call to undefined function ??

par vinzmeister » 13 mars 2015, 17:17

Bon, ça marche maintenant ....

Je n'ai rien fait de particulier sauf enlever le bout de code et remettre ...

Ce qui suit marche :
Fichier B :

Code : Tout sélectionner

include_once('Vue/menu_onglets.php'); $menu=affiche_menu(); include_once('Modele/connexion_REPORT.php'); include_once('Modele/FonctionsSQL.php');
Je ne sais pas pourqui ça a marché tout d'un coup ...
Enfin bon, je mets à RESOLU ...

Re: Fatal error: Call to undefined function ??

par vinzmeister » 13 mars 2015, 15:53

Woaw, des experts s'occupent de mon cas, c'est cool :o

@Synergie, mon include est bien le bon, sinon j'aurai un message d'erreur du type :
Warning: include_once(./PageUpdateRoleNNI.php): failed to open stream: No such file or directory in (...)

@Ryle, j'avais bien compris la notion de l'include et qu'il faut se positionner par rapport au fichier en haut de la pyramide des include pour indiquer la bonne arborescence.

@xTG, oui, mon echo modifié s'affiche bien :
Image

En fait, je lance index.php (fichier A) où il y a un include_once sur le fichier B : PageUpdateRoleNNI.php dans le dossier Vue, et B inclut C : include_once("./Vue/menu_onglets.php"). L'arborescence de ces fichiers est celui dont j'ai mis l'image dans mon premier post.

Si vous me dites plus tard qu'ici le fichier A ne sert à rien, je suis d'accord, c'est que mon code avait évolué ces derniers jours.

Contenu entier de A (index.php) :

Code : Tout sélectionner

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <?php include_once('Vue/PageUpdateRoleNNI.php'); ?> </body> </html>
Contenu partiel de B : (PageUpdateRoleNNI.php)

Code : Tout sélectionner

<?php function cellule($num, $valeur, &$tableau, &$matrice, $nni_tmp){....} function affiche_liste_role($cx, $value){....} //include_once("./menu_onglets.php"); include_once("./Vue/menu_onglets.php"); echo "-----------------------------"; $menu = test(); include_once('Modele/connexion_REPORT.php'); include_once('Modele/FonctionsSQL.php'); ...
Contenu partiel de C (avec echo modifié) :

Code : Tout sélectionner

<?php function affiche_menu(){...} echo "++++++ Oui ça change bien /////// Comme quoi ".pathinfo($_SERVER['PHP_SELF'])['basename']." est bien appelé<br>"; function test(){ return "tu vas marcher oui ?!"; }
Malgré ça, j'ai toujours l'erreur :
Fatal error: Call to undefined function test()

Et je ne C.O.M.P.R.E.N.D.S. pas !! :priere:

Re: Fatal error: Call to undefined function ??

par Ryle » 13 mars 2015, 15:09

Attention aux includes, car tu n'appelles pas la page A via ton navigateur, mais la page index.php. Cette page index inclue ton script A, et le script A inclue le script B.

Les script inclus s'exécutent comme s'ils étaient physiquement présents dans le fichier parent qui les appels. Il faut donc bien aller chercher B non pas par rapport à A, mais par rapport à Index, d'où le besoin du chemin ./Vues/.

Re: Fatal error: Call to undefined function ??

par xTG » 13 mars 2015, 14:23

Pas de souci au niveau du chemin d'include à ce que je vois moi.

Je ne vois pas de raison à cette erreur.
Si tu modifies la chaîne echo du fichier menu_onglets.php cela change bien ?

Re: Fatal error: Call to undefined function ??

par synergie » 13 mars 2015, 13:20

Es-tu sûr que ton lien d'include est le bon ?

Ton include menu_onglets est dans le même dossier que la page ou tu appelles la fonction, donc pas besoin de ./Vue, je pense.

Fatal error: Call to undefined function ??

par vinzmeister » 13 mars 2015, 13:06

Bonjour tout le monde,

Il m'arrive cette bizarrerie que je n'arrive pas à résoudre, j'ai une fonction dans un A.php que j'appelle depuis un B.php sans avoir oublié d'inclure le A.php dans le B.php, et pourtant, j'ai cette erreur "Call to undefined function" quand je tente d'appeler ma fonction ?!

Y aurait-il un truc que j'aurai omis ? .. je sollicite votre aide sur ce point ...

Fichier A.php (PageUpdateRoleNNI.php)

Code : Tout sélectionner

<?php function cellule($num, $valeur, &$tableau, &$matrice, $nni_tmp){...} function affiche_liste_role($cx, $value){...} include_once("./Vue/menu_onglets.php"); echo "-----------------------------"; $menu = test(); include_once('Modele/connexion_REPORT.php'); include_once('Modele/FonctionsSQL.php');
...
[/code]

Et dans mon fichier B.php (qui est menu_onglets.php) j'ai :

Code : Tout sélectionner

<?php function affiche_menu(){....} echo "************************************\n"; function test(){ return "tu vas marcher oui ?!"; }
A l'éxécution, j'ai :
Image

Mon arborescence est :
Image


Merci pour votre aide !