The manual Page
English version
accueil | glossaire | downloads | liens ]
 

PHP dans les pages Web

Introduction

Cette page va parler de l'utilisation de PHP dans les pages web, c'est-à-dire comment créer des pages web dynamiques avec PHP.

PHP est en effet un language très commode pour créer ce qu'on appelle des pages web dynamiques, c'est à dire des pages qui sont construites en fonction d'un certain nombre de facteurs changeants extérieurs. Typiquement, PHP peut étre utilisé pour écrire un moteur de recherche : les données externes sont les mots clés de recherche entrés par l'utilisateur et la base de données contenant les données de référence. Très souvent, lorsque l'on parle de pages dynamiques, on fait référence à des bases de données, mais PHP sait faire autre chose que manipuler de telles choses.

Principe

Généralement, les pages dynamiques sont construites autour d'un noyau statique (par exemple le format général est toujours le même pour respecter la charte graphique du site). PHP ainsi que tous les autres langages utilisés de la même façon comme ASP ou Perl ne font que rajouter une partie "intelligente" à ces pages. PHP est alors utilsé pour générer du code HTML au milieu d'une page en fonction d'un certain nombre de choses. Ceci dit, il se peut qu'il n'y ait pas de partie statique (la page ne contient a priori que du code PHP), mais cela est très rare car dans tous les cas, une page web doit contenir du code statique comme les en-têtes.

Le point important est le suivant : au moment de délivrer une page web à un client, un serveur la lit. Il est alors possible de "spécialiser" cette lecture en demandant au serveur d'effectuer un certain nombre d'opérations au moment de cette lecture. C'est ce mécanisme qui est utilisé pour les pages web contenant du PHP : on va demander au serveur, au moment de lire la page pour la renvoyer au client, d'interpréter et d'exécuter le code PHP contenu dans la page. Tous les serveurs ne sont pas capables de comprendre PHP, ils doivent avoir été construits pour.

Seulement, une page web avec du PHP est une page web presque comme toutes les autres : pour le serveur web, c'est un fichier texte comme toutes les autres pages web. Pour qu'un serveur interprète le code PHP, il faut lui forcer un peu la main en lui signifiant bien que cette page web contient du PHP. Cela se fait en changeant l'extension des pages web : une page web ordinaire (sans PHP) a une extension .htm ou .html ; les pages contenant du PHP et devant être interprétées par le serveur auront .php ou .php3 par exemple comme extension. Cette extension est typique de chaque serveur : avant de faire quoi que ce soit, il faut s'assurer du type d'extension reconnue par le serveur.

Par ailleurs, il faut aussi l'aider en identifiant les portions contenant du PHP. Ceci est réalisé par l'utilisation de balises spéciales, comme nous allons le voir tout de suite après.

Premier exemple

Au moment de la lecture de la page web, le serveur doit être capable de reconnaître le code PHP. Pour cela, on utilise comme on vient juste de le voir des balises spéciales :

<HTML>
<HEAD>
	<TITLE><?echo $title;?></TITLE>
</HEAD>

<BODY>
...
</BODY>
</HTML>

Dans cette exemple, on demande simplement à afficher le contenu de la variable $title.

On peut tout de suite remarquer qu'il est inutile d'écrire toute la page web en PHP (i.e. commencer la page avec un <? et la finir avec un ?> et taper les balises HTML avec des echo "<BR>";). On utilise simplement PHP dans une page web la où on en a besoin. On ne va par exemple l'utiliser qu'une fois au milieu d'une page pour marquer la date du jour. On va au contraire l'utiliser à plusieurs endroits différents pour écrire des formulaires dynamiques...

Il existe différentes façon d'insérer du code PHP dans une page web :

  • <? echo "Hello world!"; ?>
  • <?php echo "Hello world!"; ?>
  • <% echo "Hello world!"; %>
  • <SCRIPT language="PHP"> echo "Hello world!"; </SCRIPT>

La première solution est la plus simple et peut-être aussi la plus répandue mais elle peut poser quelques problèmes de compatibilité avec XML notamment puisque XML utilise aussi cette balise. Pour plus de sécurité et de portabilité, il est plus sûr d'utiliser la deuxième solution (<?php ... ?>).

Les différentes syntaxes

Il est bien entendu possible d'écrire plusieurs instructions dans un même ensemble limité par les balises vues précédemment, chaque instruction devant se terminer par un point-virgule (";") :

<?
	echo "Hello World!\n";
	echo "Seconde ligne\n";
?>

PHP est un langage relativement souple. Il permet en effet de passer du code HTML au code PHP à tout moment comme le montre l'exemple suivant :

On va écrire une liste à puces de 10 lignes :<BR>
<UL>
<?
// On va ecrire une boucle for
	for ($i = 0; $i < 10; $i++) {
?>
	<LI>liste à puce
<? } ?>
</UL>

Cliquez ici pour voir le résultat.

Pour comprendre ceci, on peut dire que PHP s'approprie toute la page Web, et n'en fait qu'un seul bloc d'instructions PHP. Ceci explique aussi la portée des variables en PHP.

Inclure un fichier

Un des points forts de PHP est la possibilité d'inclure des fichiers. Ce système est largement utilisé dans ce site, comme le montre la façon dont il est construit. L'intérêt est qu'il est possible de limiter le développement PHP en "partageant" un fichier de ressources (fichier avec pleins de fonctions utiles par exemple) entre plusieurs fichiers PHP. Pour ceux qui connaissent C, cela revient à faire un #include. Exemple :

<?
	$title = "Titre de ma page";
	include("entete.inc");
?>

entete.inc est alors le suivant :

<HTML>
<HEAD>
	<TITLE><? echo $title; ?></TITLE>
</HEAD>

Ceci illustre deux principes importants en PHP : les variables (ici, $title) définies dans le fichier incluant sont disponibles dans le fichier inclu. Ensuite, chaque fichier inclu est considéré comme étant des fichiers HTML et non pas PHP. Ceci signifie que si du code PHP doit être écrit dans le fichier inclu comme c'est le cas ici, il faut introduire et fermer ce code avec les balises adéquates.

Typiquement, cet exemple peut servir lorsque toutes les pages d'un site on le même en-tête (même méta-tags, scripts...) : ce dernier n'est décrit qu'une seule fois dans entete.inc et le titre est individuellement personnalisé dans chaque page avec la variable $title.


format imprimable format imprimable



Copyright © 2000-2006 themanualpage.org - Ce site est soumis aux conditions décrites dans les licences GNU GPL et FDL.