Probléme require

Bonjour,

j'ai un petit souci pour afficher les frase dans mon include

j'ai mis ce code en haut de la page

require_once DIR_INCLUDE.'/communications.inc.php';
var_dump($_msg);


et normalement ca devrait recupére la page communication

<?php

    // 
    
    $_msg['message_index_admin'] = 'index admin';
    
    $_msg['message_foo'] = 'foo';
    
    $_msg['message_bar'] = 'bar';
    
?>


et son érreur :

Notice: Undefined variable: _msg in /var/www/legtux.org/users/lesite/modules/admin/index.admin.php on line 14
NULL

ou est mon érreur et pk il bug au lieu d'afficher ma phrase

merci

11 réponses

  1. utilise include au lieu de require, de cette manière tu auras une erreur plus explicite sur ton problème.

    a mon avis c'est le chemin d'accès qui n'est pas bon.
    1. merci de m'avoir répondu

      donc j'ai mis

      include "./includes/communications.inc.php";
      var_dump($_msg);
      


      et la page communication

      <?php
      
          // 
          
          $_msg['message_index_admin'] = 'index admin';
          
          $_msg['message_foo'] = 'foo';
          
          $_msg['message_bar'] = 'bar';
          
      ?>


      il m'indique

      array(3) { ["message_index_admin"]=> string(11) "index admin" ["message_foo"]=> string(3) "foo" ["message_bar"]=> string(3) "bar" }

      normalement il devrait mettre le mot index admin

      mrci de votre aide
      1. Apparemment, tu as supprimer la constante "DIR_INCLUDE", rien avoir avec require ou include !

        normalement il devrait mettre le mot index admin
        Et c'est le cas, il t'affiche le contenu du tableau que tu a créée ...
        array(3) { 
        ["message_index_admin"]=> string(11) "index admin"
        ["message_foo"]=> string(3) "foo"
        ["message_bar"]=> string(3) "bar"
        }
      2. Le rapport c'est qu'include affiche les erreurs du fichier inclus, et pas require .. donc pour débug c'est quand même mieux.
    2. merci

      mais j'ai testé mettre

      require_once(DIR_INCLUDE . '/communications.inc.php');
      var_dump($_msg);

      mais il m'indique une autre érreur

      Notice: Undefined variable: _msg in /var/www/legtux.org/users/monsite/modules/admin/index.admin.php on line 13
      NULL

      donc il y a bien une notice

      et le vardump il met null
      1. Oui, et je répète ma première question, que contient DIR_INCLUDE, comment est elle définit ?
    3. enfait sur une page constate

      il y a ce code avec dire includ

      voilà

      //Constantes de chemin
      define('DIR_INCLUDE', 'includes');
      define('DIR_MODULE', 'modules');
      define('DIR_DESIGN', 'design');
      define('DIR_AVATAR', 'avatar');
      define('DIR_JS', 'javasscripts');
      define('DIR_IMAGE',DIR_DESIGN.'/Basic/images');
      
      1. et une autre precision

        DIR_INCLUDE çà pointe vers /includes <--
        1. Est ce que le fichier qui contient la définition des constantes est inclus aussi ?
        2. oui il est dans le dossier

          mais si non si tu a un autre moyen d'afficher que celle du mien

          proproose
        3. Désolé, je ne comprend ni ta réponse ni ta question, mets le code de toute ta page.
      2. on reprend tt a zero

        sur la page index.admin.php

        j'ai mis ce code :

        require_once(DIR_INCLUDE . '/communications.inc.php');
        var_dump($_msg);
        


        et ca devrait marqué cette phrase que j'ai mis sur ma page

        communications_inc.php

        <?php
        
            // 
            
            $_msg['message_index_admin'] = 'index admin';
            
            $_msg['message_foo'] = 'foo';
            
            $_msg['message_bar'] = 'bar';
            
        ?>


        et l'include ou requiere je fais pointé directs sur le dossier include grace a cette page

        circontance.php

        http://pastebin.com/VU076pxy

        merci de ton aide
        1. Est ce que circonstance.php est incluse en haut de la page index.admin.php ?
      3. oui j'ai miis ca sur ma page index qui est le debut de la page des dotype

        et j'ai meme essayer de mettre ds la page index.admin

        mais ca ne fait rien

        j'ai tester sur la racine la page index ou il y a le dovctype et le titre

        voil ma page index ou j'ai mis linclude

        http://pastebin.com/F1gKuBXV

        il m'affiche

        Notice: Undefined variable: _msg in /var/www/legtux.org/users/leprojet/modules/admin/index.admin.php on line 14

        ensuite j'ai tester de mettre

        require_once('./includes/constantes.inc.php'); par

        include "./includes/constantes.inc";

        là il m'affiche

        Warning: include(./includes/constantes.inc): failed to open stream: No such file or directory in /var/www/legtux.org/users/leprojet/index.php on line 6
        
        Warning: include(): Failed opening './includes/constantes.inc' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/legtux.org/users/leprojet/index.php on line 6
        
        Warning: require_once(DIR_INCLUDE/classes/Hook.abstract.class.php): failed to open stream: No such file or directory in /var/www/legtux.org/users/leprojet/index.php on line 9
        
        Fatal error: require_once(): Failed opening required 'DIR_INCLUDE/classes/Hook.abstract.class.php' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/legtux.org/users/leprojet/index.php on line 9


        et si je met je sais que c'est pas ca

          include "./includes/constantes.inc";
         
         require_once('./includes/constantes.inc.php');      
        


        il m'affiche cette é erreur

        Warning: include(./includes/constantes.inc): failed to open stream: No such file or directory in /var/www/legtux.org/users/leprojet/index.php on line 6
        
        Warning: include(): Failed opening './includes/constantes.inc' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/legtux.org/users/leprojet/index.php on line 6
        
        Warning: Cannot modify header information - headers already sent by (output started at /var/www/legtux.org/users/leprojet/index.php:6) in /var/www/legtux.org/users/leprojet/index.php on line 13
        
        1. apparemant ca doi t marche qd je met

          setPageTitle("Administration du site " . SITE_NAME);
          	require_once('./includes/constantes.inc.php');      
          
          //Niveau de visibilité admin , autorise pas les non connecté et compare le level avec le signe >= grace au dernier true
          //auth(ADMIN,false,true); en commentaire car fait depuis les autres pages
          include (DIR_INCLUDE."/communications.inc.php");
          var_dump($_msg);
          


          donc il met

          array(3) { ["message_index_admin"]=> string(11) "index admin" ["message_foo"]=> string(3) "foo" ["message_bar"]=> string(3) "bar" }

          doon comment affiche juste cette array

          index admin

          et pas le reste
          1. si tu veux bien m'aidez a faire je te donne mon skype : ivan.gentil2

            et si tu veux je te donne le loging et mdp et tu pourras tester par toi meme c plus simple

            si tu veux
            1. j'ai retester un dernier truc pour voir donc là si je met ce code ou j doit afficher les frases

              include "./includes/message.haut.php";

              et sur ma page

              <?php 
              
              echo 'Info : Pour ajouter un module admin, vous devez créer un fichier dans le dossier de votre module nommé nomDuDossier.admin.php (ou nom du dossier est celui ou vous avez stocké les fichiers du module, ex : modules/membres/ => membres.admin.php)Le kernel de l\'administration by infoxp detectera automatiquement ce fichier pour ajouter les liens à la suite.';
              
              ?>
              


              là je vois vbien ma phrase sur tout mes pages

              moi je veux qu'il affiche cette echo uniquement sur une page

              donc j'ai pensé

              $_msg['message_index_admin'] = 'index admin';

              mais c il ne veux pas afficher ma phrase

              merci de m'aider