14 réponses
Utilisateur anonyme
30 janv. 2014 à 15:25
30 janv. 2014 à 15:25
salut
rajoute un
naga
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
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...
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...
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
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é
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é
première chose : isset regarde si la variable existe, donc vrai/faux, le test renvoi vrai.
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é :
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é !'; } ?>
il met cette notice
Notice: Undefined index: message.haut in /var/www/legtux.org/users/leprojet/includes/message.haut.php on line 10
Notice: Undefined index: message.haut in /var/www/legtux.org/users/leprojet/includes/message.haut.php on line 10
ok donc il te dit que
rajoute :
pour rajouter la sécurité, ecris donc :
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
$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
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
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 à :
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
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
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....
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....
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....
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....
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).
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.
$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.
merci, donc comment je peux faire afin de terminer pour une bonne fois
car ca fait 3 semaine je lutte pour afficher
merci
car ca fait 3 semaine je lutte pour afficher
merci
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
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
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
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
index.php
index_admin.php
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>';
merci pited ta compris que je voulais faire
donc j'ai mis menu_haut.php
index.admin.php
là il n'affiche plus rien
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
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
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
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 ;)
Une petite révision des bases de PHP ne serait pas un mal je pense ;)
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
là ça fonctionne bien maintenant je n'ai qu'a plus a remettre sur tout les page
une question pour les redirect
ou
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
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
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
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