Comment Ca Marche - Communauté informatique  
   
Accueil - Encyclopédie informatiqueTélécharger l'encyclopédieContribuer à cet article

CGI - Réception et traitement des données

Réception et traitement des données par un CGI Encyclopédie


Envoyer des données à un script CGI

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ée à 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.

Méthodes GET et POST

La méthode GET permet d'envoyer les éléments du formulaire au travers de l'URL du script, en ajoutant l'ensemble des paires nom/valeur à l'URL du script, séparé de celui-ci par un point d'interrogation, ce qui donne un URL du type :

http://nom_du_serveur/cgi-bin/script.cgi?champ1=valeur1&champ2=valeur2...

Toutefois, la longueur de la chaîne URL étant limitée à 255 caractères, les informations situées au-delà de cette limite seront irrémédiablement perdues. De plus, cela crée une URL surchargée dans la barre d'adresse d'un navigateur et peut dévoiler des informations sensibles comme un mot de passe...

Ainsi, la méthode POST est une bonne alternative à la méthode GET. Cette méthode code les informations de la même façon que la méthode GET (encodage URL et paires nom/valeur) mais elle envoie les données à la suite des en-têtes HTTP, dans un champ appelé corps de la requête. De cette façon la quantité de données envoyées n'est plus limitée, et est connue du serveur grâce à l'en-tête permettant de connaître la taille du corps de la requête.

Discussions pertinentes trouvées dans le forum

04/09 15h37 personne connaissant cgi recherche personne connaissant cgi ou autre Webmastering 10/09 12h05->kifman032
25/07 19h44 cgi bin probleme cgi-bin Linux/Unix 27/07 17h33->jisisv12
30/06 17h46 cgi python fichiers binaires [CGI][Python] Problème avec fichiers binaires Développement 01/07 17h00->batmat11
08/06 10h18 script cgi perl navigateur script CGI en perl et navigateur Linux/Unix 24/09 17h29->lami20j10
10/03 20h54 script cgi bin Petit script cgi-bin Développement 10/03 23h04->frzburn9
10/03 18h10 executer script cgi Executer un Script CGI Développement 11/03 15h22->rania8
08/09 14h30  Hitparade Xiti et CGI Suggestions 09/09 00h28->dodo8
28/10 00h53 labview cgi Labview + cgi Logiciels/Pilotes 05/12 19h25->foobar478
09/06 11h12 cgi trans fichiers CGI: comment transmettre des fichiers Développement 26/06 14h11->txiki8
06/09 18h32 cgi comprend rien Les CGI j'en peux plus je ne comprend rien... Développement 07/09 21h04->Jolkdarr8
Discussion fermée Problème résolu CGI Plus de discussions sur « CGI »

Ce document intitulé « CGI - Réception et traitement des données » issu de l'encyclopédie informatique Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.