Formulaire
L
e protocole http définit deux méthodes GET et POST pour récupérer des paramètres venant d'un questionnaire, la principale différence réside dans le moyen de transmission des paramètres: dans l'adresse du l'url pour la méthode Get et dans le corps de la requête pour la méthode Post.
Voici un questionnaire exemple:
Le fichier html pour la méthode POST sera:
<!DOCTYPE html PUBLIC "-//
<title>Questionnaire POST</title>
</head>
<body>
<form action = "postpost.html" method="POST">
<table>
<TR><TD><select name="genre">
<option selected>M.
<option>Mme
</select>
<td>Nom<TD><input name="nom" size="20">
<tr><td><td>mel <td><input name="mel" size="20">
<tr>
<tr><td colspan="3"><input type="SUBMIT" value="Inscription">
<input type="RESET">
</table>
</form>
</body>
</html>
La balise FORM définit la page à appeler "PostPost.html" et la méthode; les champs sont définis par les balises INPUT.
Dans le cas de la méthode GET lorsque l'utilisateur appuiera sur le bouton SUBMIT, le client demandera par exemple la page suivante.
GET /postget.html?genre=M.&nom=Moi m%Eame&mel=moi%40fournisseur.fr
Dans le cas de la méthode POST nous obtiendrons
POST /postpost.html
Et à la fin de la trame
genre=M.&nom=Moi m%Eame&mel=moi%40fournisseur.fr
Pour exploiter ces paramètres Sisal définit deux fonctions permettant de récupérer tous les paramètres en fonction de la méthode utilisée.
La fonction HttpVarsList permet d'obtenir la liste des paramètres, et GetHttpVars permet d'obtenir la valeur d'un paramètre particulier.
HttpVarList() : Liste
GetHttpVar( identificateur): Chaine
Si l'identificateur est indéfinie, on obtient la valeur nulle.
Exemple
Liste = HttpVarList(); i = 0; Encours = 1; while Encours do begin Encours = ParseStr( Liste, #9, i, champ); if Encours then Echo( Champ:"=":GetHttpVar( Champ)); i = i + 1; end
On obtiendrait par exemple l'affichage suivant dans la page visualisé
genre = M.
nom=Moi même