CGI:Envoyer des données à un script

Un article de WikiTuto.

Jump to: navigation, search
  • CGI initiation
  1. Introduction
  2. La communication CGI/navigateur
  • Réception et traitement de données par un CGI
  1. Envoyer des données à un script CGI
  2. Variables d'environnement

Sommaire

Généralités

L'envoi de données à un script CGI se fait par l'intermédiaire d'un formulaire HTML.

Les formulaires HTML se créent à l'aide de la balise <FORM> contenant des boutons, des champs, des listes et/ou des cases à cocher repérés par des noms auxquels seront associés des valeurs, fonction de la saisie des utilisateurs, puis d'un bouton de soumission du formulaire qui enverra l'ensemble des informations au script indiqué en tant qu'attribut Action de la balise FORM selon la méthode GET ou POST. Chaque élément du formulaire doit posséder un nom unique, de telle façon que la valeur associé à l'élément forme avec le nom de celui-ci une paire nom/valeur du type Nom_de_l_element=valeur.

L'ensemble des paires nom/valeur sont séparées par des esperluettes (le caractère "&"). Ainsi, l'envoi d'un formulaire crée une chaîne de la forme champ1=valeur1&champ2=valeur2&champ3=valeur3.

L'envoi de cette chaîne se fera différemment selon que la méthode utilisée pour l'envoi du formulaire est GET ou POST.

Il faut néanmoins dans les deux cas décoder cette chaîne.

Encodage de l'URL

Les données transmises par un formulaire consistent en une suite de paires nom/valeur. Avant de transmettre ces données vers le serveur et le programme CGI, le navigateur les encode en utilisant une convention appelée encodage URL. La procédure d'encodage est la suivante :

1. encodage de certains caractères non alpha-numériques. Cette étape consiste en le remplacement de ces caractères avec un signe %, suivi de la valeur hexadécimale du caractère. Les plus répandus sont :

     Caractère 	Encodage URL
      " 	%22
      , 	%2C
      ; 	%3B
      @ 	%40
      é 	%E9
      è 	%E8
      ê 	%EA
      à 	%E0

2. remplacement de tous les espaces par le signe +

3. séparation de chaque nom de chaque valeur par le signe =

4. séparation de chaque paire nom/valeur par le caractère &

Par exemple, supposons que nous ayons les paires suivantes :

nom 	Jean Dupont
emploi 	testeur de matelas
courriel 	Jean.Dupont@trecalopillo.com

Afin d'encoder ces paires, nous allons commencer par remplacer les caractères non alpha-numériques. Dans cet exemple, un seul caractère de ce type existe, @, que nous remplaçons par %40 :

nom 	Jean Dupont
emploi 	testeur de matelas
courriel 	Jean.Dupont%40trecalopillo.com

Il faut maintenant remplacer tous les espaces par des signes + :

nom 	Jean+Dupont
emploi 	testeur+de+matelas
courriel 	Jean.Dupont%40trecalopillo.com

Ensuite, il faut insérer des signes = :

nom=Jean+Dupont
emploi=testeur+de+matelas
courriel=Jean.Dupont%40trecalopillo.com

Enfin, séparer chaque paire par un &: nom=Jean+Dupont&emploi=testeur+de+matelas&courriel=Jean.Dupont%40trecalopillo.com.


Sources

Gilles Chagnon

Voir aussi

Boîte à outils
Annuaire gratuitCe site est listé dans la catégorie Informatique : Aide et astuces en informatique Annuaire