Version complète: sur le forum
Webmaster Hub :
Include différents
Régis
mardi 18 janvier 2005 à 18:01
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
mardi 18 janvier 2005 à 18:52
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
mardi 18 janvier 2005 à 20:05
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
mardi 18 janvier 2005 à 20:07
CITATION
include('$contenu.inc');
c'est normal que ça ne marche pas ...
il faut concatener la chaine (ça s'écrit comme ça?)
Thanh
mardi 18 janvier 2005 à 20:42
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
mercredi 19 janvier 2005 à 08:07
+1 pour le commentaire de Solo

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

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.