Le code PHP va s'insérer au milieu du code XHTML. Ces bouts de code seront les parties dynamiques de la page (qui peuvent changer toutes seules).
Ici, la donnée dynamique est la partie surlignée en vert, le pseudo qui va changer en fonction du visiteur.
Pour utiliser le PHP, on se sert d'une balise spécifique qui commence par
.
On écrit son code PHP sur une ou plusieurs lignes
Code PHP
1 <?php
/* on écrit son code PHP ici */ ?>
Code PHP
1 <?php
2 /* on écrit son code PHP sur une ligne ou
3 plusieurs lignes */
4 ?>
 |
Il existe d'autres balises comme par exemple <? ?> , <% %> , etc… Cependant <?php ?> est la forme la plus correcte. |
Insérer une balise PHP au milieu du code XHTML
En reprenant l'exemple précédent :
Code PHP
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Ceci est une page de test avec des balises PHP</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<h2>Page de test</h2>
<p>
Cette page contient du code (X)HTML avec des balises PHP.<br />
<?php
/* Insérer du code PHP ici */ ?>
Voici quelques petits tests :
</p>
<ul>
<li style="color: blue;">Texte en bleu</li>
<li style="color: red;">Texte en rouge</li>
<li style="color: green;">Texte en vert</li>
</ul>
<?php
/* Encore du code PHP
Toujours du PHP */
?>
</body>
</html>
 |
Peut-on placer une balise PHP n'importe où dans le code ? |
Réponse : oui, même dans l'en-tête de la page et dans une balise XHTML.
Code PHP
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Ceci est une page de test <?php
/* Code PHP */ ?>
</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
Code PHP
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Ceci est une page de test</title>
<meta http-equiv="Content-Type" <?php
/* Code PHP */ ?>
content="text/html; charset=iso-8859-1" />
</head>
Afficher du texte
L'instruction echo
Le PHP est un langage de programmation (contrairement au HTML qui est du codage). Tout langage de programmation contient des
instructions. On en écrit, en général, une par ligne et, elles se terminent toutes par un point-virgule. Une instruction commande à l'ordinateur d'effectuer une action précise.
La première instruction que l'on va voir permet d'insérer du texte dans la page web. C'est l'instruction
echo
(c'est la plus simple et basique).
Exemple d'utilisation :
Code PHP
<?php
echo "Ceci est du texte"; ?>
A l'intérieur de la balise PHP, on écrit l'instruction echo
, suivie du texte à afficher entre guillemets.
Les guillemets permettent de limiter le début et la fin du texte et l'instruction se termine par un point-virgule.
 |
Il existe une instruction identique à echo , appelée print , qui fait la même chose. Cependant echo est plus couramment utilisé. |
On peut demander d'afficher des balises :
Code PHP
<?php
echo "Ceci est du <strong>texte</strong>"; ?>
Le mot "texte" sera affiché en gras.
 |
Comment faire pour afficher des guillemets ? |
Si on met simplement le guillemet, cela signifie que le texte s'arrête là. Pour reconnaître que c'est un guillemet à afficher, on fait précéder le guillemet d'un backslash
\
. Exemple :
Code PHP
<?php
echo "Ceci est \"uniquement\" en PHP."; ?>
Exemple pour tester ce que cela donne. Le PHP s'insère dans le code XHTML. Cas d'une page basique :
Code PHP
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>Ceci est une page de test avec des balises PHP</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<h2>Affichage de texte avec PHP</h2>
<p>
Cette ligne est écrite entièrement en (X)HTML.<br />
<?php
echo "Celle-ci est écrite entièrement en PHP."; ?>
</p>
</body>
</html>
 |
Comment enregistrer sa page PHP ? |
Enregistrer une page PHP
Tout simplement avec l'extension .php, pour l'exemple on enregistre "affichertexte.php"
Avec Notepad++, sélectionner PHP Hypertxt Preprocessor file (*.php)
Tester la page PHP
La méthode sera similaire dans les grandes lignes quelque soit le système d'exploitation.
Sous Windows, démarrer WAMP et aller dans le menu "Localhost". Si le dossier "tests" a bien été créé dans le répertoire "www", on voit apparaître un lien vers le dossier "tests". Cliquer dessus.
Une page weg s'ouvre indiquant tous les fichiers se trouvant dans ce dossier "tests". On doit avoir notre fichier "affichertexte.php". Cliquer dessus, l'ordinateur génère alors le code php, puis ouvre la page.
Le même résultat peut-être obtenu en allant directement à l'adresse
http://localhost/tests/affichertexte.php dans son navigateur.
Comment PHP génère du code XHTML
L'instruction
echo
demande à PHP d'insérer le texte que l'on a demandé
 |
Ne jamais oublier le point-virgule, sinon, on aura le message "Parse Error".
Noter que ça plante uniquement si le code PHP fait plus d'une ligne (ça sera tout le temps le cas). Donc, prendre l'habitude de mettre un point-virgule à la fin des instructions. |
PHP génè du code XHTML et renvoie au visiteur uniquement du code XHTML (accompagné de sa feuille de style CSS éventuellement).
Concrètement :
Code PHP d'origine
<p>
Cette ligne est écrite entièrement en (X)HTML.<br />
<?php
echo "Celle-ci est écrite entièrement en PHP."; ?>
</p>
Code généré et envoyé au visiteur
<p>
Cette ligne est écrite entièrement en (X)HTML.<br />
Celle-ci est écrite entièrement en PHP.
</p>
Les commentaires
Deux types de commentaires :
- commentaires monolignes
- commentaires multilignes
Code PHP commentaires monolignes suivant l'endroit
<?php
echo "une instruction en PHP."; // commentaire de cette instruction
// commentaire de l'instruction ci-dessous
echo "une autre instruction en PHP.";
?>
Code PHP commentaire multiligne
<?php
/* commentaire pour mon instruction PHP
sur plusieurs lignes…
…, j'ai dit plusieurs lignes */
echo "une instruction en PHP.";
?>