Cours 4.2. Les formulaires : POST ou GET

Syntaxe

Lorsque l'on crée un formulaire HTML, il existe deux méthodes pour transmettre les données saisies par l'utilisateur , la méthode GET et POST qui transmettent les données respectivement dans la barre de navigation et dans la requête HTTP.

La méthode GET

La méthode par défaut est la méthode GET. Les données seront visibles dans l'URL, par exemple :

/traitement.php?firstname=Pierre&lastname=Dupont

La page de traitement recevra les données dans la variable $_GET.

Quelques remarques et précautions :

Syntaxe

<form action="traitement.php" method="get">
  <!-- Champs du formulaire -->
</form>

La méthode POST

Avec la méthode POST, les données du formulaire seront transmises dans la requête HTTP. Si le site utilise un certificat SSL (domaine commençant par https au lieu de http), les données seront cryptées. Cette méthode est plus sécurisée.

La page de traitement recevra les données dans la variable $_POST.

Syntaxe

<form action="traitement.php" method="post">
  <!-- Champs du formulaire -->
</form>

Exercice

Modifiez le script de l'exemple suivant afin que les données soient transmises avec la méthode GET. Relevez l'URL de la page de traitement après validation du formulaire.

Quiz

Lorsqu'un paramètre est passé dans l'url, quelle variable PHP permet de récupérer cette valeur ?

Vérifier Bravo ! Les paramètres d'URL sont récupérés dans le tableau $_GET. Essaie encore ...

En PHP, comment récupérer les données du formulaire ci-dessous ?

<form action="traitement.php" method="post">
Vérifier Bravo ! La méthode du formulaire est "post", les données sont récupérées dans le tableau $_POST. Essaie encore ...

Considérons le formulaire ci-dessous. Dans quelle variable PHP seront récupérées les données ?

<form action="traitement.php?var=12" method="post">
Vérifier Bravo ! Le paramètre var sera transmis dans _GET et les champs du formulaire dans $_POST. Essaie encore ...

Est-il possible de voir les données envoyées depuis un formulaire dans l'URL de la page ?

Vérifier Bravo ! Avec l'attribut action="get", les champs sont passés dans l'url. Essaie encore ...

Voir aussi


Dernière mise à jour : 02/04/2021