Notice

Fermé
ivan - 30 janv. 2014 à 14:26
 ivan - 1 févr. 2014 à 17:05
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

Utilisateur anonyme
30 janv. 2014 à 15:25
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
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
Utilisateur anonyme
30 janv. 2014 à 16:02
ah bah c'est juste que $page n'existe pas dans ton contexte.

Comment et ou initialise-tu cette variable?
0
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
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
il met cette notice

Notice: Undefined index: message.haut in /var/www/legtux.org/users/leprojet/includes/message.haut.php on line 10
0
Utilisateur anonyme
30 janv. 2014 à 17:26
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
30 janv. 2014 à 17:36
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
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
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
Utilisateur anonyme
31 janv. 2014 à 07:53
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
merci, donc comment je peux faire afin de terminer pour une bonne fois

car ca fait 3 semaine je lutte pour afficher

merci
0
Utilisateur anonyme
31 janv. 2014 à 08:58
en nous montrant comment tu initialise ta constant __FILE__ ...
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
31 janv. 2014 à 09:05
__FILE__ est une constante magique initialisée par php correspondant au nom complet du fichier courant : https://www.php.net/manual/fr/language.constants.predefined.php
0
ok merci j'avais pas pris le temps de chercher de ce côté. je te laisse "t'amuser" ^^
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
31 janv. 2014 à 09:19
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
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
Utilisateur anonyme
31 janv. 2014 à 10:48
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
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
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
31 janv. 2014 à 11:33
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
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
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
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