begin process at 2012 05 31 00:00:29
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

include ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

include ?

samedi 16 juin 2007 à 21:14:31 | include ?

Rems3002

Salut à tous,

Voilà j'explique mon problème, j'ai trouvé sur phpcs.com un code qui utilise la fonction include me permettant d'appeler sur une page mon en-tête et mon pied de page (pied de page sur une page php, et en-tête sur une seconde, les deux se regroupant sur une troisième.). Dans la page contenant mon en-tête il y a aussi mon menu avec des liens. Chaque lien est associé à des pages html faite auparavant.

Sur ma page regroupant tous, mon en-tête est là, mon pied de page aussi, ainsi que mon menu (normal). Mon problème est que quand je clique sur les liens du menu, ceux-ci me son envoyés sur une nouvelle page ! alors que je voudrais qu'ils apparaisse entre l'en-tête et le pied de page de ma page global....

Quelqu'un aurait il quelque chose à me conseiller ?
J'éspère avoir été assez clair..

Merci d'avance

dimanche 17 juin 2007 à 00:41:18 | Re : include ?

zut69


Salut,

Il y a de nombreuses solutions à ton problème.
Je vais t'en montrer une: tu pourrais, lorsque tu clique sur ton lien, ne pas amener sur la page en question, mais sur la meme page en incluant ta page html au milieu.
Donc tu récupères des informations par GET (url), en l'occurence, le nom de ta page html.
Donc, dans ta page d'entete, ou tu as tes liens, modifie ceux ci en remplacant:

<a href="lien.html">nom du lien</a>

par:

<a href="page.php?p=lien.html">nom du lien</a> (page.php étant ta page contenant ton entete et pied de page.

ensuite crée une page html contenant le contenu de ta page de base, celle qui a l'entete et pied de page, mais sans ces deux-la. Ensuite, a la place ou il y avait ce contenu la, tu mets:

<?
$page_de_base = "contenu_de_la_page_de_base.html";
$autorises = array($page_de_base, "page1.html", "page2.html", "page3.html", "page4.php");
$page = $_GET['p'];
if($page == "") $page = $page_de_base;

if(in_array($page,$autorises)) {
   
include $page;

  }
else include $page_de_base;
?>



bon, voila, c est tout, je vais encore t'expliquer comment fonctionne ce code (A noter que ce que j'ai mis en bleu, c est ce que tu as à modifier):

tout d'abord, tu définis la fonction page de page, c est le fichier html ou php ou ce que tu veux, que tu auras créé, qui contient ce qu il y a a la base sur ta page.
ensuite, pour des raisons de sécurités, on fait la liste de toutes les pages autorisées à être inclues (pour pas qu'un petit voyou vienne intégrer sa page dans ton site afin d'effectuer une action malveillante ), tu dois donc mettre le nom de toutes les pages que tu autorises à être inclues, dans la fonction array (entre guillemets et séparés par des virgules).
Ensuite $_GET permet simplement de récupérer une information dans l'url de la page.
Si, on n'a rien défini dans l'url (c'est a dire, que c est le premier chargement), on inclut la page de base.
ensuite, si la page et dans la liste des pages autorisées, on l'inclut, sinon on inclut la page de base.

Voila , c etait simple et j ai essayé d etre ultra explicite, ne connaissant pas ton niveau et php et sachant que ca pourra servir peut etre à d autres.

Bonne soirée et à bientot,
FF

PS: N'hésites pas si tu as un problème ou une question.
dimanche 17 juin 2007 à 00:47:34 | Re : include ?

zut69


ATTENTION !!!!!!!!

j'ai oublié de dire quelque chose: dans toutes tes pages html qui seront uniquement inclues à cette page, tu dois enlever les balises <html><head>... jusqu'à <body> (que tu supprimes aussi).
Ensuite, à la fin de la page, tu supprimes aussi </body> et </html>.

Ceci sert simplement au fait que tu ne définissent pas le titre 2 fois que tu n'aies pas deux balises <html> ouvertes l'une dans l'autre vu que t'inclus une page dans une autre. C'est syntaxiquement faux !

Voilà j'ai tout dit...
A+
dimanche 17 juin 2007 à 01:18:25 | Re : include ?

Rems3002

Bon, j'ai compris l'histoire du href a remplacer, sa c'est bon.

Mainteant je ne comprends pas la création d'une nouvelle page html vierge dans laquelle on entre le code


<?
$page_de_base = "contenu_de_la_page_de_base.html";
$autorises = array($page_de_base, "page1.html", "page2.html", "page3.html", "page4.php");
$page = $_GET['p'];
if($page == "") $page = $page_de_base;

if(in_array($page,$autorises)) {
   
include $page;

  }
else include $page_de_base;
?>

en plus entrer du code php dans de l'html sa a pas lair de fonctionner.

Bon, moi je cherche a avoir une page fixe, avc le design du site, le menu, ext...une page avec la structure du site... et qu'au centre de cette meme page  (dans la case d'un tableau par exemple, qui puisse sagrandir en hauteur, sans que des scroolbars aparaissent) puisse venir se loger des pages html toute simples. Des pages avec des images et du texte...
Donc la manière que j'ai trouver (parce que les frames, les iframes...moi j'aime pas) c'est d'utiliser include de la structure sur une page (pour ainsi pouvoir etre modifié facilement ) et ce que j'aimerai fair c fair apparaitre mes pages simple au sein de cette structure.

Peut etre pourra tu me conseiller autrement.
Si non, peu tu me réexpliqué ce que je dois fair avec le code si dessus.. créé une nouvelle pasge... je n'est vraiment pas compris. dsl

Depuis longtenps, jéssais de me fair un site simple et pratique (juste modifié une seul page lorsque j'ai un changement de menu ou de design) mais je n'y arrive pas...pourtant ce ne dois pas etre difficile..
Si tu es d'accord, pourrais tu directement me fabriquer des pages le plus simple possible avec le code qui permet de fair sa dedant ?
Merci en tout cas d'avoir répondu si vite !

Bon je vais me coucher. Je repasse demain ! Bonne nuit .
dimanche 17 juin 2007 à 10:11:30 | Re : include ?

Rems3002

C'est bon j'ai réussi ! (bon hier je croit qu'il était un peu tard.. )

Alors ma page , kan je clike sur un lien, afiche en son centre la page du lien ! c'est exactement ce que je voulais !
Mais par contre, ten que je ne clique pas sur le lien, elle affiche a l'infini entre les deux include... alors, sa cest moins cool.
Bon je vais éssayé de bidouiller.
Je te tiens au courant.
a ++
dimanche 17 juin 2007 à 10:27:27 | Re : include ?

Rems3002

Youpi sa fonctionne !!!!!!
Bon alors, je vais tout réexpliqué
il faut: un minimum de 5page:

-un pied de page : haut.php  ou est le menu.Chaque lien du menu seront défini par: <a href="structure.php?p=lien.html">nom du lien</a>
-une entete:            bas.php
-une page sctuture: structure.php
-des page associé a des liens : liens.htm
-une page d'accueil qui s'affiche par défaut quand aucune autre page est demandé:  accueil.htm


Inclure avec include  haut.php et bas.php dans structure.php
Strucure.php divisé alors en 3 : peid de page, centre ou s'afficheront les page associé au lien, et entete.
Dans ce centre de structure.php (ou s'afficheron les pages associé au lien du menu) on colle le code:

$accueil = "accueil.htm";
$autorises = array($accueil, "bas.php", "haut.php", "liens.htm" , "toute les pages du site doivent etre inscit entre " " et séparé de virgule ici");
$page = $_GET['p'];
if($page == "") $page = $paccueil;

if(in_array($page,$autorises)) {
    include $page;
  }
else include $accueil;

Et normalement sa focntionne
Merci Zut69, tu m'as retiré une grosse épine du pied ! A je suis content ! sa fait plaisir !
Au prochain problème je te rapelle ?

Merci encore et à bientôt !



dimanche 17 juin 2007 à 12:37:01 | Re : include ?

zut69



ca va, tu as compris.
Ca m'a fait plaisir de pouvoir t'aider, mais fais juste gaffe, il y a une faute de frappe dans le code que tu as un peu modifier:
tu définis $accueil: $accueil = "accueil.htm";
mais apres tu utilise la variable $paccueil, il y a un "p" en trop: if($page == "") $page = $paccueil;

Voilà, bonne journée et à bientot


Cette discussion est classée dans : menu, page, include, tête, pied


Répondre à ce message

Sujets en rapport avec ce message

mise en forme [ par jimmypage64 ] Bonjour, je veux mettre en forme une page internet... en  haut de la page je voudrai ma banniere, a gauche mon menu, en bas mon pied et au milieu le c Include : PHP [ par Dw1kY ] Salut, je suis un débutant en php et j'ai un début de soucisVoila en faite j'ai crée une page titre, menu_gauche, page_principal, menu_droit et menu_b Question avec INCLUDE [ par CBF ] Bonjour,voila je vous expose mon problème :je vous donne l'arborescence d'une partit de mon site :ROOT :menu_gauche.php3 -> Mon menuindex.php3 porbleme avec les includes [ par alex288 ] Je fé un site avec des include, il y a une page de base avec un menu en ho et un bas de page en bas, au milieu un cadre ou les inclu son inséré.commen [DEBUTANT] Include [ par b3n0it ] Bonjour :)Voila je suis vraiment débutant en php et j'ai une petite erreur avec mon include Voici le code :        if(file_exists("menu/$page.htm"))in Organiser div [ par OneHacker ] J'ai déjà essayé de mettre un attribut align aux balises div pour aligner les div et ca ne marche pas, alors comment faire pour que la première div so Include et affichage [ par redemption ] Bonjour a tous. je voulais savoir si c'est possible en php de faire un include au debut de la page et d'afficher son contenu plus tard dans la page.Ge Problème menu déroulant et include php [ par Rems3002 ] Bonjour, J'ai créer un site avec ma première page index.php. Dans celle-ci se trouve _un menu déroulant horizontale en cascade css dans l'entête , _la Include d'un menu [ par DAVIMIKA ] Bonjour, J’utilise include pour insérer le menu déroulant sur mes pages et tout se passait bien, jusqu’au jour où j’ai dû ajouter un dossier supplé probleme inclue et lien [ par eda1 ] Bonjour, voila j'expose mon petit souci: A la base le site contenai 4 pages dont index.php sur chaque page deu site j'aidans la parti du conteneur


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales