Page 1 sur 1

Inclusion de pages en php

Posté : 03 oct. 2006, 13:25
par Jequitiba
Bonjour,

Je suis débutant en php. Je développe actuellement un site en xhtml+css+php. les liens de mon site fond appelle à du code php afin d'inclure les pages dans la partie centrale du site. (a l'aide de la fonction include).

Mon site: http://annecy.abada.free.fr/site_v2/

Mon site est organiser de la maniere suivante: (à la racine)

-->index.php
-->Dossier "page" (qui contient les pages appellé)
-->Dossier "css" (qui contient un fichier css)
-->Dossier "img" (qui contient mes images)

Mon problème est le suivant:

J'ai inséré le code php suivant dans la page index.php pour appeller mes pages à inclure (qui sont je le rappelle dans le dossier "page").

Code : Tout sélectionner

<?php if (!isset($_GET['page'])) $page= 'page/home.html' && include ('page/home.html'); else $page= $_GET['page']; switch($page) { case 'home.html': include ('page/home.html');break; case 'historique.html': include ('page/historique.html');break; case 'abada.html':include ('page/abada.html');break; case 'instructeur.html':include ('page/instructeur.html');break; case 'casa.html':include ('page/casa.html');break; case 'horaire.html':include ('page/horaire.html');break; case 'photo.html':include ('page/photo.html');break; case 'musique.html':include ('page/musique.html');break; case 'lien.html':include ('page/lien.html');break; case 'lien_autre.html':include ('page/lien_autre.html');break; case 'contact.html': include ('page/contact.html');break; case 'rss.html': include ('page/rss.html');break; //default: //echo "apres par default"; } ?>
Le problème est que lorsque l'on arrive sur le site il y a deux appel à la page d'acceuil (page de news) !!! Lorsque l'on clique sur un lien tout devient ok.

Je n'arrive pas à inclure dès le début ma page d'acceuil à la page index (qui ne sont pas dans le meme dossier) tout en conservant les liens vers les autres pages de mon site.

J'ai vraiment chercher à résoudre mon problème tout seul (affichage de la variable , break, echo, ...) mais ça a été sans résultats. Je susi persuader que la solution est toute bete.

Piste de solution: lorsque toutes
mes pages sont à la racine
, et que les
include
des
case
sont de la forme
include ('lien_autre.html')
LA TOUT fonctionne à merveille. Mais je souhaite mettre mes pages dans des dossiers pour une meilleures gestion de mon sites

J'espère que quelqu'un pourra m'aider. Merci d'avance

Posté : 03 oct. 2006, 13:52
par fred9999
salut

si tu veut essaye com ça

if (!isset($_GET['page'])) 
{
$page= 'page/home.html';
include ('page/home.html'); 
}
else 
{
$page= $_GET['page']; 
}
switch($page) 
{ 
case 'home.html': include "page/home.html";break; 
case 'historique.html': include "page/historique.html";break; 
case 'abada.html':include "page/abada.html";break; 
case 'instructeur.html':include "page/instructeur.html";break; 
case 'casa.html':include "page/casa.html";break; 
case 'horaire.html':include "page/horaire.html";break; 
case 'photo.html':include "page/photo.html";break; 
case 'musique.html':include "page/musique.html";break; 
case 'lien.html':include "page/lien.html";break; 
case 'lien_autre.html':include "page/lien_autre.html";break; 
case 'contact.html': include "page/contact.html";break; 
case 'rss.html': include "page/rss.html";break; 
//default: 
//echo "apres par default"; 
} 
?>
sinon il ya aussi un moyen avec des elseif

Posté : 03 oct. 2006, 18:41
par Jequitiba
Merci Fred 9999 comme tu l'a écrit ça marche ,tout fonctionne, j'avais testé une solution dans le genre , et je crois avoir oublier quelques accolades.

Longue vie !!!

Posté : 04 oct. 2006, 09:37
par fred9999
Merci petit padawan de ta politesse tout d'abord,

et de meme pour ta vie.