Notice

Bonjour,

j'ai une notice

Notice: Undefined index: message.haut in /var/www/legtux.org/users/lesite/includes/message.haut.php on line 8

dc voilà j'ai mis sur ma page ou je met ma phrase

$messages['index_admin']=true;

et menu du haut

<?php
$messages = array();
 
$messages['index'] = 'Page index';
$messages['index_admin'] = 'Page d\'administration';
 
$page = substr(basename(__FILE__),0,strlen(basename(__FILE__))-4);
echo $messages[$page];
?>


14 réponses

  1. bonjours j'ai ce cie code

    redirect('Bienvenue '. sex2color($data["membre_sexe"],$data["membre_id"]));

    j'ai mis ca sur la page redirection

    define('redirection_connexion', redirect('Bienvenue '. sex2color($data["membre_sexe"],$data["membre_id"])) );

    et sur ma page

    // ici on affiche un texte en hut de la page pour le changer c'esty dans modules/message_haut.php

    echo '' . redirection_connexion . '';

    ca bug

    ou est mon érreur
    0
    1. une question pour les redirect

      redirect('Bienvenue '. sex2color($data["membre_sexe"],$data["membre_id"]));
      

      ou

      redirect("Votre réponse à été ajoutée",getLienModule("forum","voirmessage")."?fid=".$_GET['fid']."&tid=".$_REQUEST['tid']."&num=".$_GET['num']);
      	}else{
      		redirect("Veuillez renseignez un méssage avant d'envoyer le formulaire !",getLienModule("forum","repondre")."?type=message&fid=".$_GET['fid']."&tid=".$_REQUEST['tid']."&num=".$_GET['num']);	


      pour dire

      votre topic a été modifié
      votre message a été bien envoyer

      etc...

      ca fonctionne bien et le cadre est en haut pour dire votr e message a été bien envoye

      et ma question je voudrais faire pareil pour ceux qu'on a fait mais cette fois ci c pour les redirect

      le code que j'ai mis ca fonctionne et on voit bien en haut de la page donc ca c bon

      mais comment je doit proceder pour mettre les phrase juste sur une page et mettre un code pour dire vas recupere la frase

      es ce que c'est le même principe ou il faudrs changer qque truc
      0
      1. ecuse moi c de ma phautye pour lurll du fichier mille excuse

        là ça fonctionne bien maintenant je n'ai qu'a plus a remettre sur tout les page
        0
        1. excuse donc l'érreur

          Warning: require_once(message_haut.php): failed to open stream: No such file or directory in /var/www/legtux.org/users/leprojet/modules/admin/index.admin.php on line 15
          
          Fatal error: require_once(): Failed opening required 'message_haut.php' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/legtux.org/users/leprojet/modules/admin/index.admin.php on line 15
          0
          1. Le chemin vers le fichier message_haut.php n'est pas le bon apparement. Ce fichier se trouve t-il dans le même dossier que index.php ?

            Une petite révision des bases de PHP ne serait pas un mal je pense ;)
            0
        2. merci pited ta compris que je voulais faire

          donc j'ai mis menu_haut.php

          <?php
          define('MSG_INDEX', 'Page index');
          define('MSG_INDEX_ADMIN', 'Page d\'administration');
          define('MSG_CONTACT', 'Contactez moi à l\'adresse ***@***');
          // ... etc ...
          ?>


          index.admin.php

          require_once 'constantes_messages.php';
          
          echo '<h1>' . MSG_INDEX_ADMIN . '</h1>';
          
          echo '<span>' . MSG_CONTACT . '</span>';
          


          là il n'affiche plus rien
          0
          1. juste, tu déclarer dans menu_haut.php et tu essaye de les récupérer dans constantes_messages.php ... il n'y a rien qui te choc?

            require_once 'menu_haut.php';
            0
        3. Si j'ai bien compris (pas sur) tu souhaites centraliser des messages qui seront utilisés sur plusieurs pages afin de pouvoir changer facilement ces messages à un seul endroit pour toutes les pages ?

          Si tu veux le faire avec ton tableau $message en fonction du nom de la page (index, index.admin, message.haut), tu dois définir dans ton tableau $message chacun de ces messages pour toutes les pages.

          Tu peux aussi le faire en définissant des constantes dans un fichier à part, pour ensuite inclure de fichier dans chaque page ayant besoin d'afficher un message.
          Par exemple :

          constantes_messages.php
          <?php
          define('MSG_INDEX', 'Page index');
          define('MSG_INDEX_ADMIN', 'Page d\'administration');
          define('MSG_CONTACT', 'Contactez moi à l\'adresse toto@exemple.com');
          // ... etc ...
          ?>
          


          index.php
          require_once 'constantes_messages.php';
          
          echo '<h1>' . MSG_INDEX . '</h1>';
          
          echo '<span>' . MSG_CONTACT . '</span>';
          


          index_admin.php
          require_once 'constantes_messages.php';
          
          echo '<h1>' . MSG_INDEX_ADMIN . '</h1>';
          
          echo '<span>' . MSG_CONTACT . '</span>';
          
          0
          1. merci, donc comment je peux faire afin de terminer pour une bonne fois

            car ca fait 3 semaine je lutte pour afficher

            merci
            0
            1. en nous montrant comment tu initialise ta constant __FILE__ ...
              0
            2. ok merci j'avais pas pris le temps de chercher de ce côté. je te laisse "t'amuser" ^^
              0
          2. je vais expliquer pour quoi je fais ca et si j'insistes

            je sais que je peut faire juste un echo a chaque page

            echo 'page index admin ou se trouve le panel';

            et sur page inscription

            echo ' veuillez s'inscrir sur le formulaire';

            donc là c bon mes phrase sont a chaque page

            et moi j'ai reflechis étant donné qu'on peut faire un formulaire sur une seuil page en incluant

            et si un jour je doit modifier mon formulaire au lieu de reprendre 10 page pour modifier une balise ou rajouté

            je prend que la page formulaire et j'ajoute un bbcode là ca vas se mettre sur tout les page ou j'infiche le formulaire

            et ca sera pareil pour mon message du haut

            au lieu de prendre la page voirtopic et voir message pour modifier ou rajoute un mot ou une lettre

            je prendrais juste la page message_du_haut

            ou il y aura ecrit tout les message haut

            /// là on affiche le message juste sur la page index admin
            $messages['index_admin'] = 'Page d\'administration';

            /// là on affiche le message juste sur la page inccription
            $messages['index_admin'] = 'veuillez s'inscrire';

            etc....
            0
            1. ce n'est pas l'idée qui pose problème, ca existe déjà un peu partout, mais là le soucis c'est que tu essaye d'appeler un élément de ton tableau que tu n'as pas initialisé ( en gros tu essaye de récupérer le 74ème élément d'un tableau qui en contient 2).
              
              $page = substr(basename(__FILE__),0,strlen(basename(__FILE__))-4);
              
              


              ici tu ne récupère pas 'index' ou 'index_admin' mais 'message.haut' . Donc __FILE__ est mal initialisé.

              L'erreur est donc tout à fait normal, c'est de ton côté que le problème se situe, dans ton code.
              0
          3. là je crois qu'on le tient enfin quoi que

            là il ne met plus l'érreur

            mais il met la phrase message haut

            il se repete sur tout les page

            donc maintenant comment on peut dire

            affiche moi page index admin sur la page admin

            et ensuite mot inscription sur la page inscription

            $messages['index'] = 'Page index';
            $messages['index_admin'] = 'Page d\'administration';
            etc....
            0
            1. Salut,

              Tu initialises ta variable $page en lui donnant comme valeur le nom de ton fichier courant.
              Puisque ton fichier est message.haut.php, la variable $page contient alors la valeur "message.haut".

              Ensuite tu essaye d'accéder à ton tableau $message sur l'index défini par $page, donc tu essaye d'accéder à :
              $message['message.haut']


              Or tu ne définis nulle part cette index dans ton tableau, d'où la notice php.

              Je ne comprend pas bien ce que tu souhaites faire, peux tu nous décrire ton besoin car pour l'instant ce n'est pas très claire.

              Bonne journée
              0
              1. il met cette notice

                Notice: Undefined index: message.haut in /var/www/legtux.org/users/leprojet/includes/message.haut.php on line 10
                0
                1. ok donc il te dit que
                  $messages['message.haut'];
                  n'existe pas. ce qui n'est pas étonnant vu que ce que tu n'as que 'index' et 'index_admin'.

                  rajoute :
                  
                  $messages['message.haut'] = 'Message du haut';
                  
                  


                  pour rajouter la sécurité, ecris donc :

                  
                  <?php
                  $messages = array();
                   
                  $messages['index'] = 'Page index';
                  $messages['index_admin'] = 'Page d\'administration';
                   
                  $page = substr(basename(__FILE__),0,strlen(basename(__FILE__))-4);
                  if( isset($page) )
                  {
                     if( isset($messages[$page]) )
                     {
                        echo $messages[$page];
                     }
                     else
                     {
                        echo 'l'indexe ' . $page . ' n'est pas présent dans le tableau des messages !';
                     }
                  }
                  else
                  {
                     echo 'la variable page n\'est pas initialisé !';
                  }
                  ?>
                  


                  au moins, si tu n'as rien, tu le contrôle et l'affiche (pour le débug en tout cas, peu être que tu ne voudra pas l'afficher dans la version finale).

                  si $page est censé contenir index ou index_admin, vérifie l'implémentation de ta variable $page.

                  naga
                  0
              2. je ne comprends plus rien

                donc je vais te donné un exemple

                pour afficher le titre d'un formulaire

                donc j'ai mis sur ma page $_tab['ajout_mini_chat']=true;

                et sur ma page formulaire j'ai mis ça

                 if(isset($_tab['ajout_mini_chat']))
                	  {
                
                ?>
                
                      <div class="titre">mini chat</div>
                
                
                <?php
                
                      }


                et là ça s'affiche bien le titre

                donc j'ai voulu faire pareil pour afficher mes phrase du haut

                mais rien affaire

                et pourtant ca devrait marché
                0
                1. première chose : isset regarde si la variable existe, donc vrai/faux, le test renvoi vrai.


                  donc j'ai mis sur ma page $_tab['ajout_mini_chat']=true;

                  j'ai besoin de la déclaration de la variable $page.

                  tu as qu'à écrire ceci et tu sera fixé si oui ou non tu as bien initialisé :

                  
                  <?php
                  $messages = array();
                   
                  $messages['index'] = 'Page index';
                  $messages['index_admin'] = 'Page d\'administration';
                   
                  $page = substr(basename(__FILE__),0,strlen(basename(__FILE__))-4);
                  if( isset($page) )
                  {
                     echo $messages[$page];
                  }
                  else
                  {
                     echo 'la variable page n\'est pas initialisé !';
                  }
                  ?>
                  
                  
                  0
              3. il me dit

                Notice: Undefined variable: page in /var/www/legtux.org/users/lesite/includes/message.haut.php on line 3

                Notice: Undefined index: message.haut in /var/www/legtux.org/users/lesite/includes/message.haut.php on line 10

                en faite cette ligne

                $messages['index_admin'] = 'Page d\'administration';

                ca sera juste la page index.admin

                etc...
                0
                1. ah bah c'est juste que $page n'existe pas dans ton contexte.

                  Comment et ou initialise-tu cette variable?
                  0
              4. salut

                rajoute un
                echo $page;
                et montre le résultat stp, car là il semble simplement dire que $page ne correspond pas à un index (pour toi : index et index_admin).

                naga
                0