Version complète: sur le forum Webmaster Hub : Include différents
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
Régis
Bonjour,

Je suis débutant en PHP.

J'ai construit ma page avec des includes.
Mais en fonction de la présentation du contenu de mes pages, je souhaiterai qu'un des includes appelés soit différent.

Exemple (contenu1, p.e, avec un tableau) :
1. Include header 1 <?php include('header_01.inc'); ?>
2. Include header 2 <?php include('header_02.inc'); ?>
3. Include contenu1 <?php include('contenu_01.inc'); ?>
4. Include footer 1 <?php include('footer_01.inc'); ?>
5. Include footer 2 <?php include('footer_02.inc'); ?>

Exemple (contenu2, p.e, avec image et texte) :
1. Include header 1 <?php include('header_01.inc'); ?>
2. Include header 2 <?php include('header_02.inc'); ?>
3. Include contenu2 <?php include('contenu_02.inc'); ?>
4. Include footer 1 <?php include('footer_01.inc'); ?>
5. Include footer 2 <?php include('footer_02.inc'); ?>

Donc je souhaiterai inclure selon le cas soit contenu1.inc, soit contenu2.inc.

J'ai pensé faire cela avec une variable :
$contenu = contenu1 ou contenu2
include('$contenu.inc');

mais cela ne fonctionne pas.
Pouvez-vous m'aider ?

Merci
Commmint
si tes pages sont appelées depuis un lien, le passage de variables GET me semble approprié. Dans tes pages, tu appelles uniquement un petit script (un pour le header, un pour le contenu et un pour le footer) avec un SWITCH, tu évalues la variable passée en GET et tu fais les includes correspondant

switch ($_GET['page']){
case 'page1':
include('header1.inc');
break;
case 'page2':
include('header2.inc');
break;
case 'page3':
include('header3.inc');
break;
}

et ainsi de suite, un script par composant de page directement inséré dans des balises PHP au sein de ton gabarit (ou template) HTML

Commmint, PHP du dimanche et fier de l'être B)
maximettb
Pas mieux que Commmint.
Cependant, ne cède pas à la facilité, et n'utilise jamais, au grand jamais de forme du style
include($_GET['page']);
Très mauvais pour la sécurité...
bigornot
CITATION
include('$contenu.inc');



c'est normal que ça ne marche pas ...
il faut concatener la chaine (ça s'écrit comme ça?)
Thanh
CITATION(bigornot @ mardi 18 janvier 2005, 20h07)
c'est normal que ça ne marche pas ...
il faut concatener la chaine (ça s'écrit comme ça?)
*


oui, il faut soit concaténer soit utiliser les doubles quotes

CODE
include($contenu . '.inc');


ou
CODE
include("$contenu.inc");

^_^
Dan
+1 pour le commentaire de Solo wink.gif

Un commentaire toutefois: les fichiers se terminant par ".inc" ne sont pas interprétés par php, et il est donc possible qu'ils soient transmis en clair si envoyés "hors contexte include".

Renommes les en .inc.php pour éviter que quiconque puisse voir d'éventuels mots de passe en clair wink.gif

Dan
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.