que fait le navigateur dans toute cette affaire ?
Le navigateur est côté client, il ne fait qu'interroger le serveur, interpréter le code HTML/CSS/JS réceptionné en réponse, et l'afficher.
Le code HTML reçu peut être produit par un fichier HTML statique (extension .html) ou un script PHP (extension .php).
dès qu'un fichier contient <?php IL DOIT avoir pour extension ".php" sinon le serveur ne l'identifie pas comme nécessitant une intervention de sa part et il le refourgue texto au navigateur.
Voilà. Ainsi il DOIT seulement si tu veux du PHP interprété (ce qui est le cas généralement).
Ce qui m'embrouille c'est que l'on dit que l'on peut insérer du code php dans un fichier html. Avec mes mots à moi: NON on ne peut pas. Un fichier html ne doit contenir QUE du html/css.
Avec l'extension .php ton fichier HTML devient un script PHP.
En revanche on peut mélanger code html et php dans un fichier php !
On peut mais ce n'est pas recommandé. Il faut toujours séparer au maximum PHP (techno serveur) et HTML/CSS/JS (technos client).
Idéalement un script PHP contient au maximum ce genre de chose :
<?php
// ...
$page_title = 'Index des utilisateurs';
$users = $pdo->query($sql)->fetchAll();
// ...
?>
<!doctype html>
<html>
...
<h1><?= htmlspecialchars($page_title) ?></h1>
<ul>
<?php foreach ($users as $user): ?>
<li><a href="details.php?id=<?= $user->id ?>"><?= htmlspecialchars($user->name) ?></a></li>
<?php endforeach ?>
</ul>
... => On réduit le PHP aux structures de contrôle (conditions/boucles) et à l'affichage.
Partager