Régis Posté 18 Janvier 2005 Posté 18 Janvier 2005 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 Posté 18 Janvier 2005 Posté 18 Janvier 2005 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
maximettb Posté 18 Janvier 2005 Posté 18 Janvier 2005 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 Posté 18 Janvier 2005 Posté 18 Janvier 2005 include('$contenu.inc'); c'est normal que ça ne marche pas ... il faut concatener la chaine (ça s'écrit comme ça?)
Thanh Posté 18 Janvier 2005 Posté 18 Janvier 2005 c'est normal que ça ne marche pas ... il faut concatener la chaine (ça s'écrit comme ça?) <{POST_SNAPBACK}> oui, il faut soit concaténer soit utiliser les doubles quotes include($contenu . '.inc'); ou include("$contenu.inc");
Dan Posté 19 Janvier 2005 Posté 19 Janvier 2005 +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
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant