Un script PHP est un simple fichier texte contenant des instructions écrites à l'aide de caractères ASCII 7 bits (des caractères non accentués) incluses dans un code HTML à l'aide de balises spéciales et stocké sur le serveur. Ce fichier doit avoir l'extension ".php" pour pouvoir être interprété par le serveur !
Ainsi, lorsqu'un navigateur (le client) désire accéder à une page dynamique réalisé en php:
- le serveur reconnait qu'il s'agit d'un fichier php
- il lit le fichier php
- Dès que le serveur rencontre une balise indiquant que les lignes suivantes sont du code php, il "passe" en mode php, ce qui signifie qu'il ne lit plus les instructions: il les exécute !
- Lorsque le serveur rencontre une instruction, il la transmet à l'interpréteur
- L'interpréteur exécute l'instruction puis envoie les sorties éventuelles au serveur
- A la fin du script, le serveur transmet le résultat au client (le navigateur)
|
Un script PHP est interprété par le serveur, les utilisateurs ne peuvent donc pas voir le code source! |
Le code php stocké sur le serveur n'est donc jamais visible directement par le client puisque dès qu'il en demande l'accès, le serveur l'interprète!
De cette façon aucune modification n'est à apporter sur les navigateurs...
Pour que le script soit interprété par le serveur deux conditions sont nécessaires:
- Le fichier contenant le code doit avoir l'extension .php et non .html
- Le code php contenu dans le code HTML doit être délimité par les balises <?php et ?>
|
Un script PHP doit:
- comporter l'extension .php
- être imbriqué entre les délimiteurs <?php et ?>
|
Pour des raisons de conformité avec certaines normes (XML et ASP par exemple), plusieurs balises peuvent être utilisées pour délimiter un code PHP:
- <?php et ?>
- <? et ?>
- <script language="php"> et </script>
- <%php et %>
Voici l'exemple le plus utilisé de script php:
<html> <head><title>Exemple</title></head> <body> <?php echo "Hello world"; ?> </body> </html>
On notera bien évidemment que la fonction echo permet d'afficher sur le navigateur la chaine délimitée par les guillemets...