C'est un sujet souvent mal compris par les débutants, donc il vaut mieux ne rien comprendre et demander plutot que comprendre de travers, généralement c'est irrécupérable
Je me lance dans une explications que je vais esseyer de faire claire, mais bon
Ceci dit : quel est ton "niveau" ? sais tu faire une page en xhtml et css ? maitrise tu l'interaction entre ces deux langages ? as tu des bases en php ? ou en programmation autre que xhtml / css ?
C'est parti :
L'idée de départ est la suivante : dans un site généralement seule une partie change de page en page (le contenu généralement). Ta page a donc très souvent plusieurs zone (header, menu, footer) qui se répètent de page en page.
A priori, tu vas écrire tout ça une fois pour toute et ensuite faire un copier coller de toute cette page "modèle" dans toutes tes autres pages. Ensuite tu vas changer le contenu selon la page (généralement tu as un div id="contenu" qui sera alors modifié par exemple).
Seulement c'est lent long et fastidieux, en plus imaginons que tu modifies le menu : comme il est répété sur toutes les pages, tu dois toutes les rouvrir et les modifier à l'identique, bref c'est pas top.
C'est là qu'intervient php. Il va te permettre de générer tes différentes pages "à la volée".
En pratique tu vas pouvoir faire ceci :
- tu crée une page "modèle" (celle que tu copiait collait partout) et tu en retire le contenu
- tu crée ensuite différents fichiers contenant uniquement le contenu d'une page précise
Il faudrait alors pouvoir copier coller automatiquement le contenu correspond à la page que le visiteur demande.
Dans la page modèle, à l'endroit où tu veux mettre le contenu (disons que c'est un div id="contenu") tu vas mettre des instructions php qui se chargeront de :
- récupérer le nom de la page que le visiteur souhaite voir
- en fonction de ça "copier" le contenu du fichier contenu
- ensuite le script php va "coller" ce contenu à l'endroit où il se trouve (le script), justement le script se trouve à l'endroit où le contenu doit prendre place dans la page modèle.
Bref que fais cet include ? exactement ce que tu aurais fait à la main.
Un include n'est rien d'autre qu'un copier coller automatique
C'est très avantageux :
- tu as un et un seul fichier "modèle" : si tu veux modifier le menu de toutes tes pages, tu modifier ce fichier modèle
- tu as des fichiers qui contienent les différents contenu sans toute la "structure" des pages du site, tu peux donc les modifier facilement sans te soucier du restant de la page.
Tout ça est bien beau, en pratique ça ressemble à ça :
Code de la page modèle
//Ici tout le début de la page modèle, qui commence donc par un doctype
// exemple
<div id="contenu">
// ici commence le script php
<?php
include($_GET['page'].'.brocoli');
?>
</div>
// la suite du modèle
Bref, le script est tout simple :
Il inclu (c'est à dire "je récupère le fichier qu'on me dit et ensuite je le recopie tel quel sur place ) le fichier (dont l'extension est .brocoli).
Ce fichier dépend d'une variable "get".
On passe une variable get à une page comme ceci :
disons que ta page modèle s'apelle "essai.php" :
essai.php?page=articles
La variable get "page" prend la valeur "articles".
Ainsi le script va inclure "articles.brocoli".
Que dois contenir le fichier "articles.brocoli" ? le contenu de la page, càd quelque chose du genre
<h2>Page articles</h2>
<p>Blablabla</p>
Par exemple, on voit qu'il ne faut pas mettre <html> etc etc ... mais si tu as bien suivi les explications, et donc que tu as compris ce que fais le script, tu te rend compte que c'est quelque chose de tout à fait logique et immédiat (et pas une "astuce" comme le croient beaucoup de débutant genre "ha ui, astuce, il faut retenir que je ne dois pas mettre <html> " )
J'espère que j'ai pu t'aider
Modifié par Cedric (22 Jul 2005 - 22:46)