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 :

Fatal erreur:Call to undefined function!


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2009
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 272
    Par défaut Fatal erreur:Call to undefined function!
    Bon jour!
    c'est la premiere fois que j'utilise le fonction e PHP, et j'ai rencontré une ereur, jesper trouvé de l'aide ici!

    Voila mon script :
    Code : 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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    <html>
    <Head>
         <title> Premiere page </title>
    </head>
    <body>
    <h1 align="center"><u> Les Graphes </u></h1>
    <br/>
    <br/>
    <?php 
        echo "<font color=\"#800080\">Aujourd'hui nous sommes le : </font>" .date('d/m/Y');
    	echo "<br><font color=\"#800080\"> Il est :</font> " .date('H \h i \m\i\n s \s\e\c ');
     
    ?>
    <center>
          <form method="post" action="Graphe.php">
    Entrez le nombre de Sommet :  <input type="text" name="som" />
    <br>
    	<input type="submit" name="ok" value="ok" />
    	</form>
    		</center>
    		<?php
     
          if(isset($_POST['ok']))
         {  $n=''; if(isset($_POST['som'])) { $n=($_POST['som'] ); }
     
     
    //diemension de la matrice
     
     $mat = array();
    //1er appel de la fonction
    //$mat = matrice
    //$n = dimension
    //0 = niveau courant
    create_recur_mat($mat, $n, 0);
     
    function create_recur_mat($current_mat, $n, $current_n) {
    	if ($n == $current_n) { //condition de sortie dimension courante = $n
    		$current_mat = 1; //il ne faut pas oublier la valeur d'initialisation
    		return; //sortie
    		}
    	for ($i = 0; $i < $n; $i++) //pour chaque dimension
    		//descendre encore d'un cran
    		create_recur_mat($current_mat[$i], $n, $current_n + 1);
    	}
     
    print_r($mat);
        }
    ?>
     
     
    </body>
    </html>
    Et voila mon erreur :
    Fatal error: Call to undefined function create_recur_mat() in D:\Foufa\EasyPHP 2.0b1\www\Graphe.php on line 34

    Merci d'avance!

  2. #2
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Bonjour, l'erreur vient du fait que tu appelles ta fonction avant de la déclarer. Place l'appel après la déclaration.

    @+

  3. #3
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    Etonnant

    J'ai fais cet essai rapidos dans une page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ma_fonction();
     
    function ma_fonction() {
    	echo 'Une fonction ma_fonction()';
    }
    Aucun retour d'erreur, et ça m'affiche bien : Une fonction ma_fonction()

    Par contre, si je fais cette essai ci-dessous, c'est à dire placer la déclaration dans un autre fichier inclus après l'appel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ma_fonction();
     
    include('fichier_contenant_ma_fonction.php');
    Cette fois j'obtiens le même message d'erreur.


    Ton code respecte t-il la réalité ?
    La fonction n'est elle pas dans une autre page inclus après appel comme vu ci-dessus ?

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Votre test, justement, n'inclut pas de définition conditionnelle comme c'est le cas du PO :
    Les fonctions n'ont pas besoin d'être définies avant d'être utilisées, SAUF lorsqu'une fonction est définie conditionnellement, comme montré dans les deux exemples suivants.

    Lorsqu'une fonction est définie de manière conditionnelle, comme dans les exemples ci-dessous, leur définition doit précéder leur utilisation.
    Cf la doc.

    Donc ceci est correct :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if (1) {
        function a() {
            echo __FUNCTION__;
        }
        a();
    }
    Mais pas l'inverse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if (1) {
        a();
        function a() {
            echo __FUNCTION__;
        }
    }

  5. #5
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Citation Envoyé par RunCodePhp Voir le message
    Salut

    Etonnant

    J'ai fais cet essai rapidos dans une page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ma_fonction();
     
    function ma_fonction() {
    	echo 'Une fonction ma_fonction()';
    }
    Aucun retour d'erreur, et ça m'affiche bien : Une fonction ma_fonction()
    Oups apparemment j'ai dit une semi betise

    Désolé alors et merci RunCodePhp pour la correction

  6. #6
    Membre éclairé
    Inscrit en
    Avril 2009
    Messages
    272
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 272
    Par défaut
    Excusez moi j'ai pas bien compris vos réponses!

    1-ma fonction n'est pas déclarer dans une autre page, j'ai une seule page et la j'ai le script que je vous ai posté toute a l'heure

    2- j'ai aucune condition dans mon programme alors ?

    3-j'ai appelé la fonction après que je la déclare et j'ai eu des erreur "donc ce n'est pas la bonne solution"

    Aidez moi SVP je connais pas les fonction en PHP c'est la première fois que je travaille avec!

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/03/2012, 18h37
  2. [XML] [XSLT] Fatal error: Call to undefined function xslt_create()
    Par fadex dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 05/07/2006, 12h34
  3. Réponses: 3
    Dernier message: 13/05/2006, 15h48
  4. Réponses: 3
    Dernier message: 21/03/2006, 14h21
  5. Réponses: 11
    Dernier message: 08/12/2005, 16h54

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