Utiliser du PHP pour générer du HTML semble complètement absurde puisque, du HTML, nous pouvons déjà en faire sans faire appel à du PHP...
Effectivement mais, ce qui est important, c'est de pouvoir afficher les résultats de traitements effectués en PHP (opérations mathématiques, contenus d'enregistrements, utilisation de variables, de questionnaires,...) sous forme de fichiers HTML.
De plus, PHP vous permettra de manipuler des bases de données telles que MySQL gratuitement et de vous ouvrir ainsi des perspectives infinies sur l'Internet pour des projets aussi variés que puissants.
Introduction d'un scriptIl est donc possible d'inclure ou "mélanger" des scripts PHP avec du HTML sous certaines conditions:
- Les pages doivent avoir le suffixe .php et non .html. Par exemple, index.php;
- le script PHP peut être considéré comme une balise exécutant une fonction, càd un "morceau" de programme:
- cette balise doit commencer par <? ou <?php et se terminer par ?>;
- lors de l'exécution, la balise sera remplacée par un contenu correspondant au résultat du script PHP exécuté.
Remarque: il y a plus qu'une nuance à ce qui est dit ci-dessus mais, dans le cadre de cette introduction, c'est amplement suffisant.
ExempleVoici un exemple de page HTML minimum dans laquelle se trouve un "morceau" de PHP écrit en marron:
01 <!doctype html>
03 <html>
04 <head>
05 <html lang="fr">
06 <meta charset="utf-8" />
07 <title>Exemple de PHP</title>
08 </head>
09
10 <body>
11 <p>Bonjour</p>
12 <?PHP
13 $montant = 5;
14 $total = $montant * 3;
15 echo '<p>Le total à payer est : ' . $total . ' €.</p>';
16 ?>
17
18 </body>
19 </html>
Quelques commentaires par rapport à cette page Web...
- Le script PHP occupe les lignes 12 à 16;
- Les lignes 13 et 14 sont des instructions du langage PHP. Toutes les structures du langage peuvent être utilisées à ce niveau, les structures de contrôle, les affectations de variables, les calculs divers,...;
- Ligne 15 : le code HTML que l'on veut générer doit être "extrait" du script PHP, il s'agit vraiment d'une "sortie", d'un affichage de caractères qui doit être effectué avec la commande echo ' ';;
- Ligne 15 : il ne s'agit pas d'afficher en toutes lettres "$total" mais bien d'afficher la valeur de cette variable. les ' ' (apostrophes) permettent de sortir de la zone d'affichage pour retrouver le script PHP proprement dit afin d'afficher le contenu de la variable. Les . (points) hors des apostrophes sont les signes de concaténation.
Si le client, l'utilisateur, affiche le code HTML de la page qu'il reçoit sur son ordinateur, tous les calculs seront cachés et le code reçu du body sera le suivant :
<body>
<p>Bonjour</p>
<p>Le total à payer est : 15 €.</p>
</body>
Quelques éléments importants à ne pas négliger:
- Les chaînes de caractères doivent être placées entre guillemets " ou entre apostrophes '. Ceci est moins anodin qu'il n'y paraît (voir le chapitre consacré à l'affichage);
- Toute instruction PHP doit se terminer par un point-virgule ;
- Un script PHP ne peut commander l'impression papier de quoi que ce soit, ce script étant exécuté "côté serveur". Il faudra générer une page HTML qui, elle, pourra être imprimée;
- Il n'existe pas de moyen d'entrer des informations au clavier (tel que le "input" en Python), ces entrées doivent se faire via des formulaires HTML (voir le chapitre consacré à la lecture);
- Les commentaires sont importants pour la compréhension du code et pour assurer la maintenance de celui-ci. On peut placer des commentaires de deux façons :
- Sur la même ligne : tout ce qui suivra la double barre oblique // sera considéré comme un commentaire;
- Sur une ou plusieurs lignes : ils doivent être encadrés par les caractères /* au début et */ à la fin.
Nous allons maintenant aborder différents points du langage PHP. Il n'y a pas vraiment de bon ordre pour cela, chaque chapitre faisant appel à des informations se trouvant dans d'autres. Étant donné que vous avez déjà des notions de codage, cela ne devrait pas trop vous poser de problèmes. L'important est que vous ayez une bonne vision globale de l'ensemble des informations à la fin de cette introduction.
Bonne découverte.