Dynamiser ses pages avec PHP
Par Co, vendredi 30 janvier 2004 à 15:11 :: Php / MySQL :: #3 :: rss
Les frames sont souvent inesthétiques, imprécises, difficiles à gérer et n'apportent pas grand chose à l'amélioration de la gestion de vos sites. Le PHP est une bonne manière de pallier à leurs manques et de vous faciliter les choses si vous souhaitez un site à interface unique.
Les avantages d'une mise en page en PHP ? Grosso modo, il va vous permettre de faire tenir votre site sur une seule page tout en conservant un contenu 100% traditionnel et la quantité d'informations que vous souhaitez et ce, sans aucun problème.
Ceci va améliorer le temps de chargement de vos pages : tous vos graphiques ne seront chargés qu'une seule fois. Mais surtout, il va vous faciliter la vie pour les mises à jour.
Structure
Vous avez une page principale, mettons index.php, sur laquelle va se trouver votre interface, proprement fractionnée grâce aux tableaux. Réservez-y une place suffisamment large pour y faire apparaître le contenu futur et laissez-la vide pour l'instant. Cette page sera votre base.
Dans cette base, à l'endroit prévu, vont venir se placer toutes vos autres pages. Comment ?
Nous allons y placer un script qui va inclure les pages de contenu à l'intérieur de la page de base grâce à l'utilisation simple de liens un peu particulier.
Script de base
Nous allons tout d'abord créer un script qui va être extérieur à vos pages (il y sera inclus par la suite). Créez une page appelée rubrique.php et copiez-collez-y le code suivant :
<?php
if (!$file) { $file = "default"; }
if ($folder) { $page = $folder.'/'.$file.'.php'; }
else { $page = $file.'.php'; }
if (!file_exists($page)) { $page = 'accueil.php'; }
?>
Ce script va définir la structure des liens et de l'intégration des pages. Remarquez la ligne $page = $folder.'/'.$file.'.php'; - elle définit le chemin d'accès de vos fichiers : la variable $folder sera le dossier dans lequel la page contenu à intégrer se trouve, la variable $file sera le nom de cette page, sans l'extension et le .php définit que les pages à inclure devront toutes avoir l'extension .php.
Le script définit aussi que s'il y a échec (si la page n'existe pas, ou n'est pas trouvée), la page accueil.php (page par défaut) se chagera à sa place. Il définit à la fois que c'est cette page qui sera chargée à l'ouverture de votre site.
Intégration dans la page
Commencez par créer votre page par défaut. Faites simple pour commencer et comprendre, placez-y simplement un texte. Dans votre code HTML, supprimez les balises html, body et head ainsi que tout ce qui se trouve entre les balises head.
Créez-en une deuxième, différente pour pouvoir les reconnaître. Donnez à la première le même nom de fichier défini dans le script rubrique.php (dans mon exemple il s'agit de accueil.php). Donnez à la deuxième un nom quelconque, avec l'extension .php (par exemple page.php).
Faites en sorte que votre index.php, rubrique.php et accueil.php soient à la racine et que votre page de contenu soit placée dans un dossier (par exemple un dossier contenu).
Maintenant que vous avez deux pages de contenu (dont celle par défaut), fermez-les et passez à votre page contenant l'interface (dans mon exemple index.php). Avant la balise head, placez-y le code suivant :
<?php include("rubrique.php"); ?>
Placez ensuite le code suivant à l'endroit exact où vous souhaitez que vos pages apparaissent (dans la cellule de tableau préparée auparavant).
<?php include($page); ?>
Les liens
Sur votre page index.php, créez un lien avec la structure suivante :
index.php?folder=contenu&file=page
Où contenu est le nom du dossier dans lequel vous voulez entrer (il peut évidemment y avoir aussi des sous-dossiers du style contenu/affaires) et où page est le nom de fichier de la page de contenu à appeler, sans l'extension.
Testez, tout devrait fonctionner.
Commentaires
1. Le vendredi 20 octobre 2006 à 19:50, par free+bingo
2. Le mercredi 1 novembre 2006 à 17:15, par xkzdtt
3. Le dimanche 19 novembre 2006 à 20:10, par texas+holdem
4. Le vendredi 12 janvier 2007 à 01:46, par Masha
5. Le mercredi 17 janvier 2007 à 17:02, par iambolliwood63
6. Le vendredi 19 janvier 2007 à 13:24, par online+video+poker
7. Le mercredi 24 janvier 2007 à 15:35, par ""
8. Le mercredi 24 janvier 2007 à 20:38, par ""
9. Le mercredi 24 janvier 2007 à 22:19, par ""
10. Le mercredi 24 janvier 2007 à 23:45, par ""
11. Le jeudi 25 janvier 2007 à 01:13, par ""
12. Le jeudi 25 janvier 2007 à 02:44, par ""
13. Le jeudi 25 janvier 2007 à 04:27, par ""
14. Le jeudi 25 janvier 2007 à 05:59, par ""
15. Le jeudi 25 janvier 2007 à 07:45, par ""
16. Le jeudi 25 janvier 2007 à 09:38, par ""
17. Le jeudi 25 janvier 2007 à 11:08, par ""
18. Le jeudi 25 janvier 2007 à 12:50, par ""
19. Le jeudi 25 janvier 2007 à 15:19, par ""
20. Le jeudi 25 janvier 2007 à 18:00, par ""
21. Le jeudi 25 janvier 2007 à 21:39, par ""
22. Le jeudi 25 janvier 2007 à 22:56, par ""