Fatal error: Call to undefined function afficher_ibi_membres()

Résolu/Fermé
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 - Modifié par Zakarya93 le 25/06/2015 à 00:27
jordane45 Messages postés 38243 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 3 octobre 2024 - 25 juin 2015 à 22:25
Bonjour,

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

ibi.func.php :

<?php 
//la function qui va nous permettre d'afficher l'info-bulle des invitations
function afficher_ibi_invitations(){
 global $bdd;
 $result=0;
 //Variables
 $pseudo_session = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;

 if($pseudo_session){
  $sql = "SELECT COUNT(id_invitation) as NB
         FROM amis 
         WHERE (date_invitation = date_confirmation
         AND pseudo_dest=:pseudo_session)
      OR (pseudo_exp=:pseudo_session AND date_confirmation > date_vue) ";

   // je place les  params dans une variable avant de l'utiliser :
  $params = array(':pseudo_session' => $pseudo_session);
  try{
    $query = $bdd->prepare($sql);
    $query ->execute($params);  
    $req= $query->fetchall();
   
   $result= count($req)>0 ? $req[0]['NB']:0;
   
   }catch(Exception $e) {
     echo "<br>ERREUR ! ".$e->getMessage()."<br>";
     echo "<br>params : <br>";
     print_r($params);
   }
 } // Fin du  if($pseudo_session)
 // le return
 return $result;
}
//la function qui va nous permettre de mettre à jour la date_vue dans la bdd pour pouvoir cacher l'info-bulle 
function update_date_vue(){
global $bdd;

  //récupération des variables PROPREMENT !
  $pseudo_exp = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;

 $result=0;
 if($pseudo_exp){
  $sql = "UPDATE amis
   SET active=1, date_vue=NOW()
         WHERE (pseudo_exp = :session_pseudo)";

  // je place les  params dans une variable avant de l'utiliser :
  $params = array('session_pseudo' => $pseudo_exp);
  
  $query = $bdd->prepare($sql);
  $query ->execute($params);  
  $requete = $query->fetchall();
 }
 // le return
 return $result;
}

//la function qui va nous permettre d'afficher l'info-bulle des messages
function afficher_ibi_messages(){
 global $bdd;
 $result=0;
 //Variables
 $pseudo_session = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;

 if($pseudo_session){
  $sql = "SELECT COUNT(id_conversation) as NB
         FROM conversations
         WHERE pseudo_dest=:pseudo_session
      OR (pseudo_exp=:pseudo_session > date_vue) ";

   // je place les  params dans une variable avant de l'utiliser :
  $params = array(':pseudo_session' => $pseudo_session);
  try{
    $query = $bdd->prepare($sql);
    $query ->execute($params);  
    $req= $query->fetchall();
   
   $result= count($req)>0 ? $req[0]['NB']:0;
   
   }catch(Exception $e) {
     echo "<br>ERREUR ! ".$e->getMessage()."<br>";
     echo "<br>params : <br>";
     print_r($params);
   }
 } // Fin du  if($pseudo_session)
 // le return
 return $result;
}


menu.php :
<?php 
  $ibi = afficher_ibi_invitations();
  if($ibi !== '0')
  {
   ?>   
   <div class='ibi invitations'>
        <?php 
     echo $ibi;
     ?>
   </div> 
   <?php 
  }  

  $ibi = afficher_ibi_messages();
  if($ibi !== '0')
  {
   ?>   
   <div class='ibi messages'>
        <?php 
     echo $ibi;
     ?>
   </div> 
   <?php 
  }  
  
?>
<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></li>
      <li><a href="index.php?page=conversations">Messages</a></li>
      <li class="nbr"><?php echo nombre_membre() > 1 ? nombre_membre()." membres" : nombre_membre(). " membre"; ?></li>
       </ul>
</div>


Que faire ? merci d'avance ;)

4 réponses

jordane45 Messages postés 38243 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 3 octobre 2024 4 689
25 juin 2015 à 00:22
Bonjour
la fonction n'existe pas dans ton fichier de fonctions... normal qu'il ne la trouve pas !
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
25 juin 2015 à 00:25
oh non erreur bête, j'ai mis membres au lieu de messages --"
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
25 juin 2015 à 00:27
j'ai toujours cette erreur malgré la correction ( Fatal error: Call to undefined function afficher_ibi_messages() in C:\wamp\www\rs\body\menu.php on line 14 )
0
jordane45 Messages postés 38243 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 3 octobre 2024 4 689
25 juin 2015 à 00:30
Même chose. .. cette fonction n'existe pas dans ton fichier !!

--
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
25 juin 2015 à 00:31
mais si c'est ca !
//la function qui va nous permettre d'afficher l'info-bulle des messages
function afficher_ibi_messages(){
 global $bdd;
 $result=0;
 //Variables
 $pseudo_session = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;

 if($pseudo_session){
  $sql = "SELECT COUNT(id_conversation) as NB
         FROM conversations
         WHERE pseudo_dest=:pseudo_session
      OR (pseudo_exp=:pseudo_session > date_vue) ";

   // je place les  params dans une variable avant de l'utiliser :
  $params = array(':pseudo_session' => $pseudo_session);
  try{
    $query = $bdd->prepare($sql);
    $query ->execute($params);  
    $req= $query->fetchall();
   
   $result= count($req)>0 ? $req[0]['NB']:0;
   
   }catch(Exception $e) {
     echo "<br>ERREUR ! ".$e->getMessage()."<br>";
     echo "<br>params : <br>";
     print_r($params);
   }
 } // Fin du  if($pseudo_session)
 // le return
 return $result;
}
0
jordane45 Messages postés 38243 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 3 octobre 2024 4 689 > Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020
25 juin 2015 à 01:07
Ah oui.. pardon.
Pas d'autres messages d'erreur ?
Vide le cache de ton navigateur et retestes..
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
25 juin 2015 à 01:25
marche pas :/ le code est bon ?
0
jordane45 Messages postés 38243 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 3 octobre 2024 4 689
Modifié par jordane45 le 25/06/2015 à 12:52
Essayes ça :
<?php 
//-----------------------------------------------//
//  Fichier : ibi.func.php
//-----------------------------------------------//
/*
//la function qui va nous permettre d'afficher l'info-bulle des invitations
*/
function afficher_ibi_invitations(){
 global $bdd;
 $result=0;
 //Variables
 $pseudo_session = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;

 if($pseudo_session){
  $sql = "SELECT COUNT(id_invitation) as NB
         FROM amis 
         WHERE (date_invitation = date_confirmation
         AND pseudo_dest=:pseudo_session)
      OR (pseudo_exp=:pseudo_session AND date_confirmation > date_vue) ";

   // je place les  params dans une variable avant de l'utiliser :
  $params = array(':pseudo_session' => $pseudo_session);
  try{
    $query = $bdd->prepare($sql);
    $query ->execute($params);  
    $req= $query->fetchall();
   
   $result= count($req)>0 ? $req[0]['NB']:0;
   
   }catch(Exception $e) {
     echo "<br>ERREUR ! ".$e->getMessage()."<br>";
     echo "<br>params : <br>";
     print_r($params);
   }
 } // Fin du  if($pseudo_session)
 // le return
 return $result;
}

/*
//la function qui va nous permettre de mettre à jour la date_vue dans la bdd pour pouvoir cacher l'info-bulle 
*/
function update_date_vue(){
 global $bdd;
  //récupération des variables PROPREMENT !
  $pseudo_exp = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
 if($pseudo_exp){
  $sql = "UPDATE amis
           SET active=1
          , date_vue=NOW()
         WHERE pseudo_exp = :session_pseudo";

  // je place les  params dans une variable avant de l'utiliser :
  $params = array('session_pseudo' => $pseudo_exp);
  try{ 
   $query = $bdd->prepare($sql);
   $query ->execute($params);  
 }catch(Exception $e) {
     echo "<br>ERREUR ! ".$e->getMessage()."<br>";
     echo "<br>params : <br>";
     print_r($params);
   }
 }
}

/**
*la function qui va nous permettre d'afficher l'info-bulle des messages
*/
function afficher_ibi_messages(){
 global $bdd;
 $result=0;
 //Variables
 $pseudo_session = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;

 if($pseudo_session){
  $sql = "SELECT COUNT(id_conversation) as NB
         FROM conversations
         WHERE pseudo_dest=:pseudo_session
      OR (pseudo_exp=:pseudo_session > date_vue) ";

   // je place les  params dans une variable avant de l'utiliser :
  $params = array(':pseudo_session' => $pseudo_session);
  try{
    $query = $bdd->prepare($sql);
    $query ->execute($params);  
    $req= $query->fetchall();
   
   $result= count($req)>0 ? $req[0]['NB']:0;
   
   }catch(Exception $e) {
     echo "<br>ERREUR ! ".$e->getMessage()."<br>";
     echo "<br>params : <br>";
     print_r($params);
   }
 } // Fin du  if($pseudo_session)
 // le return
 return $result;
}



Et ton fichier menu.php ( dans lequel tu as bien faire un INCLUDE de ta page ibi.func.php bien sûr...)
<?php 
// Fichier menu.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'>
           $ibi
        </div>"; 
   }  
  }
 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>"; 
   }  
 }
  $nombre_membre = nombre_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></li>
     <li><a href="index.php?page=conversations">Messages</a></li>
     <li class="nbr"><?php echo $nombre_membre ."membre" . ($nombre_membre> 1) ? "s" :  ""; ?></li>
   </ul>
</div>

Cordialement,
Jordane
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
25 juin 2015 à 17:46
oulà mon site s'est deformé ^^ j'ai : http://www.noelshack.com/2015-26-1435247182-erreur.jpg
0
jordane45 Messages postés 38243 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 3 octobre 2024 4 689
25 juin 2015 à 18:14
il faudrait le code source GÉNÉRÉ

--
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
Modifié par crapoulou le 29/06/2016 à 23:21
<!DOCTYPE html>
<html>
    <head>
      <link rel='stylesheet' href='css/style.css'>
    </head>
    <meta charset="UTF-8" >
    <body>
          <div id='content'>
          ??<div class='header'>
Bienvenue xzak47<p><a href="index.php?page=logout">Se déconnecter</a></p>
</div>?<div class='ibi invitations'>
           1
        </div><div class='ibi messages'>
         0;
        </div><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></li>
     <li><a href="index.php?page=conversations">Messages</a></li>
     <li class="nbr">s</li>
   </ul>
</div><div class="info">
        <div class="info">
 <p><a href="index.php?page=update_avatar">Changer votre photo de profil</a></p>
 <a href="index.php?page=update_avatar"><img src="avatar/CR7.jpg"" height='200' width='200' alt='avatar'></a>
 <p><strong>Email : </strong><em>xxx@gmail.com</em></p>
 <p><strong>Sexe : </strong><em>Homme</em></p>
 <p><strong>A propos de vous : </strong><em>Etape 27/30</em></p>
</div>    </div>
    </body>


(Adresse mail supprimée par la modération)
0
jordane45 Messages postés 38243 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 3 octobre 2024 4 689 > Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020
25 juin 2015 à 22:25
Hormis quelques petites erreurs de frappe... le code généré correspond EXACTEMENT à ce que te donne ta page....
Si les éléments ne sont pas correctements placés... il y a de fortes chances que ce soit un souci de CSS ou de positionnement de tes éléments dans le code.....

Si c'est le CSS... merci d'ouvrir une question dans la partie CSS du forum webmaster.


Pour corriger les quelques petites erreurs, voici :
<?php 
// Fichier menu.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'>
           $ibi
        </div>"; 
   }  
  }
 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>"; 
   }  
 }
  $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></li>
     <li><a href="index.php?page=conversations">Messages</a></li>
     <li class="nbr"><?php echo $nb_membre; ?></li>
   </ul>
</div>
0