Notice

ivan -  
 ivan -
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. Utilisateur anonyme
     
    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
  2. ivan
     
    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. Utilisateur anonyme
       
      ah bah c'est juste que $page n'existe pas dans ton contexte.

      Comment et ou initialise-tu cette variable?
      0
  3. ivan
     
    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. Utilisateur anonyme
       
      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
  4. ivan
     
    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. Utilisateur anonyme
       
      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Pitet Messages postés 2845 Statut Membre 530
     
    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
  7. ivan
     
    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
  8. ivan
     
    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. Utilisateur anonyme
       
      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
  9. ivan
     
    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. Utilisateur anonyme
       
      en nous montrant comment tu initialise ta constant __FILE__ ...
      0
    2. Utilisateur anonyme
       
      ok merci j'avais pas pris le temps de chercher de ce côté. je te laisse "t'amuser" ^^
      0
  10. Pitet Messages postés 2845 Statut Membre 530
     
    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
  11. ivan
     
    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. Utilisateur anonyme
       
      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
  12. ivan
     
    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. Pitet Messages postés 2845 Statut Membre 530
       
      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
  13. ivan
     
    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
  14. ivan
     
    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
  15. ivan
     
    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