La transmission d'un formulaire avec GET ou POST
- Fiche de cours
- Quiz
- Profs en ligne
- Videos
- Application mobile
Faire la différence entre la méthode GET et la méthode POST pour envoyer les données d’un formulaire.
La méthode GET passe les réponses saisies via l’URL tandis que la méthode POST passe les paramètres dans le corps de la requête.
- Notion de client/serveur
- Protocole HTTP
Il existe deux méthodes pour transmettre les informations saisies dans un formulaire par un utilisateur.
Cette méthode est donc limitée par la taille limite d’une URL et les données sensibles sont accessibles à tous, ce qui n’est pas sécurisé.
Voici ci-dessous le code HTML associé à un formulaire et son aperçu dans le navigateur, où le mot de passe a été tapé.
À la soumission du formulaire, on est redirigé vers la page suivante, et le mot de passe est visible dans l’URL, ce qui ne permet pas d’avoir un mot de passe confidentiel.
Le mot de passe est donc « steph ».
Cette méthode peut de plus modifier une ressource du serveur.
Lors de l’achat d’un objet sur un site commerçant, le stock doit être diminué de un sur le serveur du site.
On précise method=”post” dans la balise HTML pour l’utiliser.
Voici un exemple de formulaire réalisé avec la méthode GET, où l’utilisateur doit rentrer son nom et son prénom avant de cliquer sur « Envoyer ».
<form method="post" action="mapage.fr"> | Création d’un formulaire utilisant la méthode POST. Les données seront envoyée à mapage.fr. |
<input type="text" name="nom"> | Création d’un champ de saisie de texte, appelé « nom ». |
<input type="text" name="prénom"> | Création d’un champ de saisie de texte, appelé « prénom ». |
<input type="submit" value="Envoyer"> | Création de l’envoi. |
</form> | Fermeture de la balise du formulaire. |
Comme les données du formulaire sont envoyées dans la requête elle-même, il n’y a pas de limite de taille et les données ne sont pas visibles par les autres. Ces données ne sont cependant pas protégées (elles peuvent être interceptées et lues par une tierce personne) si le protocole utilisé n’est pas du type HTTPS.
Vous avez obtenu75%de bonnes réponses !