Séquence 6 · 4-5h

PHP — Le serveur

Syntaxe PHP, variables, conditions, boucles, includes, formulaires.

Objectif : Transformer une page statique en page PHP dynamique avec includes.

C
Cours

PHP : côté serveur

PHP s'exécute sur le serveur, pas dans le navigateur. Il génère du HTML qui est ensuite envoyé au client.

<?php
  // PHP est délimité par ces balises
  $nom = "Martin";
  $age = 25;
  echo "Bonjour, je m'appelle " . $nom;
?>

<!-- Mélanger PHP et HTML -->
<h1>Bonjour, <?= $nom ?> !</h1>
<p>Tu as <?= $age ?> ans.</p>

Attention : tes fichiers doivent avoir l'extension .php, et être exécutés depuis un serveur local (WAMP, XAMPP, Laragon) ou distant (Plesk).

Sur Plesk : upload tes fichiers dans le dossier httpdocs du sous-domaine, et accède via l'URL.

C
Cours

Variables, conditions, boucles

<?php
// Variables
$prenom = "Sara";
$score  = 85;
$actif  = true;

// Condition
if ($score >= 80) {
    echo "Excellent résultat !";
} elseif ($score >= 60) {
    echo "Bon travail.";
} else {
    echo "Continue d'essayer.";
}

// Boucle
$competences = ["HTML", "CSS", "JavaScript", "PHP"];

foreach ($competences as $comp) {
    echo "<li>" . $comp . "</li>";
}

// Boucle for classique
for ($i = 1; $i <= 5; $i++) {
    echo "<p>Étape " . $i . "</p>";
}
?>
C
Cours

Includes — réutiliser du code

Les include permettent de ne pas répéter le header et le footer sur chaque page.

<!-- includes/header.php -->
<!DOCTYPE html>
<html lang="fr">
<head>
  <meta charset="UTF-8">
  <title><?= $titre_page ?? 'Mon site' ?></title>
  <link rel="stylesheet" href="/css/style.css">
</head>
<body>
<header>...</header>
<main>
<!-- includes/footer.php -->
</main>
<footer>© <?= date('Y') ?></footer>
</body>
</html>
<!-- index.php -->
<?php
$titre_page = "Accueil";
include "includes/header.php";
?>
<h1>Bienvenue</h1>
<?php include "includes/footer.php"; ?>
T
Astuce

Formulaires avec PHP

PHP récupère les données des formulaires via $_POST (données envoyées) et $_GET (paramètres URL).

<!-- form.html -->
<form method="POST" action="traitement.php">
  <input type="text" name="nom" placeholder="Ton nom">
  <button type="submit">Envoyer</button>
</form>
<!-- traitement.php -->
<?php
if ($_SERVER["REQUEST_METHOD"] === "POST") {
    $nom = trim($_POST["nom"] ?? "");

    if ($nom === "") {
        $erreur = "Le nom est obligatoire.";
    } else {
        $message = "Bonjour " . htmlspecialchars($nom) . " !";
    }
}
?>

htmlspecialchars() — toujours utiliser pour afficher des données venant de l'utilisateur. Protège contre les injections XSS.

P
Projet

Projet — Page PHP avec includes

Transforme ta page "À propos" en PHP.

Structure attendue

sequence-6/
├── index.php
├── contact.php
├── includes/
│   ├── header.php
│   └── footer.php
└── css/
    └── style.css

Fonctionnalités

  • Header et footer en fichiers séparés, inclus sur chaque page
  • Variable $titre_page dans chaque page pour personnaliser le <title>
  • Page contact.php avec un formulaire dont PHP valide les champs
  • Si formulaire valide, afficher un message de confirmation
  • Utiliser htmlspecialchars() pour toutes les données affichées

Tu as terminé les leçons de cette séquence ?

Quiz — Séquence 6

Vérifie ta compréhension avant de passer à la suite. Réponds à toutes les questions, puis valide.

Question 1/4
PHP s'exécute sur...
Question 2/4
Quelle superglobale PHP contient les données d'un formulaire envoyé en POST ?
Question 3/4
Pourquoi utiliser htmlspecialchars() lors de l'affichage ?
Question 4/4
Quelle fonction PHP permet d'inclure un fichier externe ?