es formulaires ont été les premiers éléments
d'interactivité de HTML. Anciennes, certes, les balises <form>
mais d'une actualité toujours très forte. On les
utilise pour obtenir des informations volontaires de la part de
l'internaute : abonnement, vente en ligne.., je ne vais pas en
faire l'énumération. Mais il faut traiter les données
de ce formulaire quand l'utilisateur nous l'a transmis.
Nous allons encore étudier des cas concrets.
Le
plus simple
Le plus facile est de se faire envoyer le contenu du formulaire
par messagerie:
<FORM ACTION="mailto:zzzzzzz@zzzzzzz.com" METHOD=POST
ENCTYPE="text/plain">
Envoyer votre demande<BR>
<INPUT TYPE="text" NAME="demande" SIZE=40
MAXLENGTH=40><BR>
<INPUT TYPE="text" NAME="complement" SIZE=40
MAXLENGTH=40><BR>
<INPUT TYPE="submit" VALUE="Transmettre">
</FORM>
Ne pas oublier le text/plain autrement cela nous parvient
dans une pièce jointe. Cette méthode, (c'est un
avantage pour nous mais elle peut être rédhibitoire
pour l'internaute dans certains cas), nous donne l'e-mail de l'utilisateur puisque cela passe par sa messagerie. Il est prévenu,
et si il remplit le formulaire c'est bien pour être recontacté.
On doit donc mettre un champ pour la saisie de l'e-mail, mais
l'impact psychologique n'est pas le même, dans le second
cas, l'utilisateur est acteur des informations transmises.
Script
CGI
C'est la façon la plus courante. Même les hébergeurs
gratuits en fournissent un. C'est un programme serveur qui va
traiter le message, bien le mettre en forme et nous le transmettre
par messagerie. Quand on a accès à son répertoire
des CGI, on peut installer celui que l'on souhaite et faire d'autres
traitements. Voyons le script CGI simple :
<FORM
ACTION="http://www.zzzzzzz.com/cgi-bin/formmail-vf.pl"
METHOD=POST>
<input type="hidden" name="recipient" value="zzzzzzz@zzzzzzz.com">
<input type="hidden" name="redirect" value="http://www.zzzzzzz.com/merci.html">
Ce
script là est la traduction française de formMail.pl
de Matt Wright, traduction effectuée par www.perl-gratuit.com.
Non seulement il remet bien en forme le texte, mais il effectue
des contrôles etc..je ne vais pas reproduire la documentation.
Par un script comme cela on peut afficher une page de remerciements,
que l'on peut personnaliser avec des cookies issus du formulaire.
Les
champs cachés contiennent des informations nécessaires
au travail du script, en l'occurence l'adresse d'envoi et la page
de retour après le traitement. Il y a d'autres possibilités
à vous de les découvrir et de les utiliser en fonction
de vos besoins.
Vérification
d'un formulaire
Il est nécessaire de vérifier les données
en local avant de les transmettre au serveur (voir
un précédent article). Cela se fait par appel
d'une ou plusieurs fonctions Javascript déclarées
et définies dans la section HEAD du document:
<form name="nomFormulaire" method="post"
action="http:// ... /cgi-bin/formmail-vf.pl" ONSUBMIT="if
(fonction1()) fonction2(); else return false;">
Par
exemple si fonction1, qui contrôle les données, renvoie
vrai on effectue fonction2 (stockage de cookie) qui renverra vrai
ou faux. L'action POST ne s'effectuera que dans le cas où
la valeur de retour finale est VRAI/TRUE.
Prenons
l'habitude de nommer les formulaires ainsi que tous les éléments,
leur manipulation dans le JavaScripot et dans les scripts serveurs
n'en sera que plus aisé, quand elle n'est pas impossible
sans.
Nous continuerons
la prochaine fois par l'écriture des fonctions Javascript que l'on peut
utiliser pour vérifier un formulaire et plus tard nous étudierons
comment stocker les informations transmises en base de données.
Lire
la 2ème partie >>
Daniel
Lucazeau
Ajornet.com
Chef de projet Internet
Développeur informatique
Tous
droits réservés - Reproduction même partielle interdite sans
autorisation préalable
|