Documentation · Chapitre 04

Faire parler
un formulaire.

Un formulaire est un dialogue : le serveur affiche des champs, l’utilisateur les remplit, puis le navigateur renvoie les valeurs au serveur.

Nous poursuivons le projet reading-list. Les données seront conservées dans la session avant d’introduire une base de données.

≈ 90 min

Nous allons rendre la bibliothèque modifiable.

Le chapitre précédent affichait des livres écrits dans le contrôleur. Nous allons maintenant ajouter, corriger et supprimer des livres depuis le navigateur. Chaque action restera en PHP et utilisera les protections fournies par PHPAML.

Deux types de demandes suffisent pour commencer

GET

Demander une page ou consulter une ressource. Une visite normale dans le navigateur utilise GET.

POST

Envoyer des valeurs qui provoqueront un changement, par exemple ajouter un livre.

GET doit pouvoir être répété sans modifier la bibliothèque. POST exprime une intention de changement. Cette séparation rend l’application prévisible.

Le nouveau trajet

1GET/books/create
→
2Formulairecreate.php
→
3POST/books
→
4Redirection/books

Après un POST réussi, le serveur ne rend pas directement la liste : il demande au navigateur de visiter /books. Ce modèle POST–Redirect–GET évite de créer deux fois le même livre lorsque la page est actualisée.

VOCABULAIRE

Les mots à retenir

ChampZone où l’utilisateur saisit ou choisit une valeur.
ValidationVérification que les valeurs respectent les règles attendues.
SessionPetit espace de données associé à un navigateur pendant plusieurs requêtes.
RedirectionRéponse qui demande au navigateur de visiter une autre adresse.

EN RÉSUMÉ

Ce qu’il faut retenir

  • GET consulte; POST demande un changement.
  • Le name d’un champ devient la clé envoyée.
  • Les données reçues ne sont jamais considérées comme sûres par défaut.
  • POST–Redirect–GET évite une répétition accidentelle.