Fatal error: Call to undefined function nombre_membre()

Fermé
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 - 15 juil. 2015 à 11:09
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 - 16 juil. 2015 à 02:01
Bonjour,

J'ai cette erreur : Fatal error: Call to undefined function nombre_membre() in C:\wamp\www\rs\body\menu.php on line 3

<?php
// Fichier menu.php
 $nombre_membre = nombre_membre();
 $nb_membre = ($nombre_membre > 1) ? $nombre_membre ." membres" : $nombre_membre ." membre";
 
?>
<div class='menu'>
    <ul>
     <li><a href="index.php?page=membre">Accueil</a></li>
     <li><a href="index.php?page=update">Changer vos informations</a></li>
     <li><a href="index.php?page=liste_membre">les membres</a></li>
     <li><a href="index.php?page=amis">Vos amis</a></li>
     <li>
        <a href="index.php?page=invitations">Invitations</a>
               <?php if(!function_exists('afficher_ibi_invitations')){
                  echo "<br> Erreur : La fonction afficher_ibi_invitations() n'existe pas !";
                }else{
                 $ibi = afficher_ibi_invitations();
                 if($ibi !== '0') {
                 //echo "<div class='ibi_invitations'>
                      echo "<p class='ibi_invitations'>".$ibi."</p>";
                  //   </div>";
                 }  
                 }?>
        </li>
        <li>
                <a href="index.php?page=conversations">Messages</a>
                <?php
                if(!function_exists('afficher_ibi_messages')){
                echo "<br> Erreur : La fonction afficher_ibi_messages() n'existe pas !";
                }else{
                $ibi = afficher_ibi_messages();
                if($ibi != '0') {
                //echo "<div class='ibi_messages'>".$ibi."</div>";
                 echo $ibi;
                 }  
                 }
                  ?>
        </li>
 
<li class="nbr"><?php echo $nb_membre;?></li>
   </ul>
</div>


Merci merci :)

3 réponses

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
15 juil. 2015 à 11:12
Salut,

Le message d'erreur est explicite : la fonction nombre_membre() n'existe pas dans ton script.
Si cette fonction est définie dans un autre fichier php, tu dois inclure ce dernier via l'instruction include ou require.

Bonne journée
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
15 juil. 2015 à 11:15
c'est depuis que j'ai modifié mon index.php que j'ai cette erreur :
<!DOCTYPE html>
<html>
    <head>
      <link rel='stylesheet' href='css/style.css'>
    </head>
    <meta charset="UTF-8" >
    <body>
	      <?php  include('body/menu.php');  ?>
          <div id='content'>
          <?php
              include($content);
           ?>
    </div>
    </body>


j'ai rajouté cette ligne :
<?php  include('body/menu.php');  ?>
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
15 juil. 2015 à 11:28
Dans quel fichier est définie la fonction nombre_membre() ?
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
15 juil. 2015 à 11:52
Elle est definie dans membre.func.php :
//la function qui va compter le nombre de personnes inscrites
function nombre_membre() {
global $bdd; // déclaration globale de BDD
$req = $bdd->query("SELECT id FROM utilisateurs")or die(print_r($bdd->errorInfo()));
return $req->rowCount();
}
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
Modifié par Pitet le 15/07/2015 à 12:02
Parfait. Et ce fichier est-il inclus dans le fichier index.php ou menu.php ?
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10 > Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022
15 juil. 2015 à 12:12
oui j'en ai fais un
<?php  include_once('body/menu.php');  ?>
dans mon body html (index.php) et je fais appel à cette fonction dans mon menu.php comme vous pouvez le voir sur le sujet de mon topic.
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
15 juil. 2015 à 12:21
Oui tu as inclus le fichier menu.php. Il faut maintenant inclure le fichier membre.func.php dans le fichier index.php ou dans le fichier menu.php.
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10 > Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022
15 juil. 2015 à 12:35
j'ai maintenant tout en décalé...
0
jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
15 juil. 2015 à 12:42
tout décalé ???
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
15 juil. 2015 à 12:57
Oui, de ce genre :
-http://www.noelshack.com/2015-29-1436957815-capture.jpg
-http://www.noelshack.com/2015-29-1436957818-capture2.jpg

et j'ai cette erreur : Fatal error: Cannot redeclare infos_membre_connecte() (previously declared in C:\wamp\www\rs\functions\membre.func.php:22) in C:\wamp\www\rs\functions\membre.func.php on line 51

membre.func.php :
<?php
//*********************************************//
//Fichier : membre.func.php
//*********************************************//
ini_set("display_errors", "1");
error_reporting(E_ALL);
//-------------------------------------------
// Include du fichier de connexion à la BDD
//-------------------------------------------
$DIR_SITE = $_SERVER['DOCUMENT_ROOT'] . "rs"; // chemin racine de ton site
$CnxBDD = $DIR_SITE . "/functions/connect.php"; // emplacement du fichier depuis la racine de ton site

if(file_exists($CnxBDD)){
 require_once($CnxBDD) ;
}else{
 echo "<br><b>ERREUR !</b> Fichier $CnxBDD Introuvable";
}

/**
* function qui va recuperer les infos de l'utilisateur connecté
*/
function infos_membre_connecte(){
   global $bdd; // déclaration globale de BDD
   $infos=array();

   // Récupération variable de session PSEUDO
   $pseudo = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:'';
   
   //préparation de la requete :
   $sql = "SELECT * FROM utilisateurs WHERE pseudo = :pseudo";
   $params = array(":pseudo"=>$pseudo);
  
   //stocke la requête et les paramêtres dans la variable de retour (cela facilite le debogage au cas où ! )
   $infos['sql'] = $sql;
   $infos['params'] = $params;
  
   //exécution de la requête
   try{
      $prepare = $bdd->prepare($sql);
      $prepare->execute($params);
      // on stocke le résultat de la requête dans un ARRAY
      $result = $prepare->fetchall();
      $infos['result'] = (count($result)>0) ? $result[0]  : NULL;
   } catch(Exception $e){
      die('Erreur : '.$e->getMessage());
   }

//  /!\ NE PAS OUBLIER DE FAIRE UN RETURN !!
return $infos;

}//Fin de la fonction

//la function qui va compter le nombre de personnes inscrites
function nombre_membre() {
global $bdd; // déclaration globale de BDD
$req = $bdd->query("SELECT id FROM utilisateurs")or die(print_r($bdd->errorInfo()));
return $req->rowCount();
}
0
jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
15 juil. 2015 à 16:39

et j'ai cette erreur : Fatal error: Cannot redeclare infos_membre_connecte() (previously declared in C:\wamp\www\rs\functions\membre.func.php:22) in C:\wamp\www\rs\functions\membre.func.php on line 51

C'est que ta fonction était déjà déclarée !

A la limite... dans ta page \membre.func.php
tu peux modifier comme ceci :

if(!function_exists('infos_membre_connecte')){
/**
* function qui va recuperer les infos de l'utilisateur connecté
*/
function infos_membre_connecte(){
   global $bdd; // déclaration globale de BDD
   $infos=array();

   // Récupération variable de session PSEUDO
   $pseudo = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:'';
   
   //préparation de la requete :
   $sql = "SELECT * FROM utilisateurs WHERE pseudo = :pseudo";
   $params = array(":pseudo"=>$pseudo);
  
   //stocke la requête et les paramêtres dans la variable de retour (cela facilite le debogage au cas où ! )
   $infos['sql'] = $sql;
   $infos['params'] = $params;
  
   //exécution de la requête
   try{
      $prepare = $bdd->prepare($sql);
      $prepare->execute($params);
      // on stocke le résultat de la requête dans un ARRAY
      $result = $prepare->fetchall();
      $infos['result'] = (count($result)>0) ? $result[0]  : NULL;
   } catch(Exception $e){
      die('Erreur : '.$e->getMessage());
   }

//  /!\ NE PAS OUBLIER DE FAIRE UN RETURN !!
return $infos;

}//Fin de la fonction
}


if(!function_exists(' nombre_membre')){
//la function qui va compter le nombre de personnes inscrites
function nombre_membre() {
global $bdd; // déclaration globale de BDD
$req = $bdd->query("SELECT id FROM utilisateurs")or die(print_r($bdd->errorInfo()));
return $req->rowCount();
}

}
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10 > jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024
15 juil. 2015 à 17:34
erreur : Fatal error: Cannot redeclare nombre_membre() (previously declared in C:\wamp\www\rs\functions\membre.func.php:58) in C:\wamp\www\rs\functions\membre.func.php on line 58

<?php
//*********************************************//
//Fichier : membre.func.php
//*********************************************//
ini_set("display_errors", "1");
error_reporting(E_ALL);
//-------------------------------------------
// Include du fichier de connexion à la BDD
//-------------------------------------------
$DIR_SITE = $_SERVER['DOCUMENT_ROOT'] . "rs"; // chemin racine de ton site
$CnxBDD = $DIR_SITE . "/functions/connect.php"; // emplacement du fichier depuis la racine de ton site

if(file_exists($CnxBDD)){
 require_once($CnxBDD) ;
}else{
 echo "<br><b>ERREUR !</b> Fichier $CnxBDD Introuvable";
}

if(!function_exists('infos_membre_connecte')){
/**
* function qui va recuperer les infos de l'utilisateur connecté
*/
function infos_membre_connecte(){
   global $bdd; // déclaration globale de BDD
   $infos=array();

   // Récupération variable de session PSEUDO
   $pseudo = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:'';
   
   //préparation de la requete :
   $sql = "SELECT * FROM utilisateurs WHERE pseudo = :pseudo";
   $params = array(":pseudo"=>$pseudo);
  
   //stocke la requête et les paramêtres dans la variable de retour (cela facilite le debogage au cas où ! )
   $infos['sql'] = $sql;
   $infos['params'] = $params;
  
   //exécution de la requête
   try{
      $prepare = $bdd->prepare($sql);
      $prepare->execute($params);
      // on stocke le résultat de la requête dans un ARRAY
      $result = $prepare->fetchall();
      $infos['result'] = (count($result)>0) ? $result[0]  : NULL;
   } catch(Exception $e){
      die('Erreur : '.$e->getMessage());
   }

//  /!\ NE PAS OUBLIER DE FAIRE UN RETURN !!
return $infos;

}//Fin de la fonction
}


if(!function_exists(' nombre_membre')){
//la function qui va compter le nombre de personnes inscrites
function nombre_membre() {
global $bdd; // déclaration globale de BDD
$req = $bdd->query("SELECT id FROM utilisateurs")or die(print_r($bdd->errorInfo()));
return $req->rowCount();
}

}
0
jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705 > Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020
15 juil. 2015 à 17:37
Y'a un espace en trop
if(!function_exists('nombre_membre')){
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10 > jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024
Modifié par Zakarya93 le 15/07/2015 à 17:42
merci beaucoup je n'ai donc plus d'erreurs :)
mais mon site est tout deformé : http://www.noelshack.com/2015-29-1436974898-capture.jpg

c'est horrible !!!

j'aimerai supprimer la barre dans le cadre blanc, et tout restabiliser
poursuivons ici ? : https://forums.commentcamarche.net/forum/affich-32244901-deplacer-barre-de-menu-en-haut#p32245886
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10 > jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024
16 juil. 2015 à 02:01
je mets le topic en résolu ou nous continuons ici ?
0