Les formulaires - envoyer ses données

Les formulaires HTML permettent aux utilisateurs de saisir des données et de les envoyer à un serveur web. Ils sont utilisés pour des recherches, des inscriptions, des connexions, des commentaires, etc.

    4ttr 5tq
  • niveau

La balise de base pour créer un formulaire est :

<form action="traitement.php" method="get">
  <input type="text" name="nom">
  <input type="submit" value="Envoyer">
</form>

Le formulaire contient :

  • un champ (ici un champ texte nommé nom)
  • un bouton de soumission
  • un attribut action (URL de destination)
  • un attribut method qui peut être GET ou POST

GET vs POST : quelle différence ?

GET POST
Transmission Données dans l’URL Données dans le corps de la requête
Affichage Visible dans la barre d’adresse Invisible
Taille max. Limitée (~2000 caractères) Illimitée (selon serveur)
Sécurité Moins sécurisé (URL visible) Plus adapté aux données sensibles
But principal Lire des données Modifier/envoyer des données
Effets attendus Ne doit pas modifier les données sur le serveur Peut entraîner une modification (ex. : base de données)
Utilisation typique Recherche, navigation, filtres Inscription, connexion, ajout, suppression

👉 Règle essentielle à retenir

  • Une requête GET est censée être sans effet secondaire : elle sert à obtenir des données sans les modifier.
    Exemple : afficher un profil, rechercher un article, charger un produit.

  • Une requête POST est utilisée pour envoyer ou modifier des données.
    Exemple : soumettre un formulaire d’inscription, ajouter un commentaire, modifier un mot de passe.

Cela respecte les normes HTTP (et les moteurs de recherche, les navigateurs, les caches web en tiennent compte).


Exemple avec GET

<form action="recherche.php" method="get">
  <input type="text" name="q" placeholder="Rechercher...">
  <input type="submit" value="Chercher">
</form>

Résultat dans l’URL après soumission :

recherche.php?q=php

Exemple avec POST

<form action="ajout.php" method="post">
  <input type="text" name="titre" placeholder="Titre de l'article">
  <textarea name="contenu"></textarea>
  <input type="submit" value="Publier">
</form>

Les données sont envoyées discrètement au serveur (pas visibles dans l’URL) et peuvent modifier une base de données. A noter que discrètement ne veut pas dire invisibles. Ces données sont toujours accessibles à l'aide des outils de développeurs des navigateurs.


En résumé

  • Utilise GET pour lire ou interroger des données.
  • Utilise POST pour transmettre des données sensibles ou modifier le contenu côté serveur.
  • Une requête GET ne doit jamais modifier une ressource.

Pour aller plus loin