Source Shell du script formulaire
#!/usr/local/bin/bash
#
# formulaire.sh.cgi
#
# Philippe Dax - Dec 1995
#
#
# Lecture de tous parametres dans la variable params
# Les parametres se presentent sous la forme native (methode POST)
# sur l'entree standard (stdin) de la maniere suivante:
#
# prenom=valeur&nom=valeur&couleur=valeur&choix=valeur&message=valeur
#
readparams()
{
#
# Lecture des parametres du formulaire
#
read params
#nparams=`echo ${params} | awk 'BEGIN {FS="&"} {print NF}'`
OLDIFS="$IFS"
IFS="&"
nparams=0
for param in ${params}; do
nparams=$[ ${nparams} + 1 ]
eval "internal${nparams}=${param}"
done
IFS="${OLDIFS}"
}
getparam()
{
eval 'echo ${internal}'$1 |\
cut -f2 -d'=' |\
sed \
-e "s/\+/ /g" \
-e "s/%0A//g" \
-e "s/%21/!/g" \
-e "s/%22/\"/g" \
-e "s/%23/#/g" \
-e "s/%24/\$/g" \
-e "s/%25/%/g" \
-e "s/%26/\&/g" \
-e "s/%27/\'/g" \
-e "s/%28/(/g" \
-e "s/%29/)/g" \
-e "s/%2A/\*/g" \
-e "s/%2B/\+/g" \
-e "s/%2C/,/g" \
-e "s/%2D/-/g" \
-e "s/%2E/\./g" \
-e "s,%2F,/,g" \
-e "s/%3A/:/g" \
-e "s/%3B/;/g" \
-e "s/%3C/\</g" \
-e "s/%3D/=/g" \
-e "s/%3E/\>/g" \
-e "s/%3F/?/g" \
-e "s/%40/@/g" \
-e "s/%5B/[/g" \
-e "s/%5C/\\\/g" \
-e "s/%5D/]/g" \
-e "s/%5E/\^/g" \
-e "s/%5F/_/g" \
-e "s/%60/\`/g" \
-e "s/%7B/{/g" \
-e "s/%7C/\|/g" \
-e "s/%7D/}/g" \
-e "s/%7E/\~/g" \
-e "s/%E0/à/g" \
-e "s/%E2/â/g" \
-e "s/%E7/ç/g" \
-e "s/%E8/è/g" \
-e "s/%E9/é/g" \
-e "s/%EA/ê/g" \
-e "s/%EB/ë/g" \
-e "s/%EE/î/g" \
-e "s/%F4/ô/g" \
-e "s/%F9/ù/g" \
-e "s/%FB/û/g"
}
abort()
{
echo "<p>"
echo "Requête avortée !!!"
echo "</body></html>"
exit 1
}
#
# Lecture des parametres
#
readparams
#
# Envoi du type MIME au browser (obligatoire)
#
echo "Content-Type: text/html"
echo ""
#
# En-tete HTML
#
echo "<html>"
echo "<head>"
echo "<title>Ceci est le résultat du questionnaire</title>"
echo "</head>"
echo "<body bgcolor=\"#dddddd\">"
#
# Extraction des parametres
#
prenom=`getparam 1`
nom=`getparam 2`
couleur=`getparam 3`
support=`getparam 4`
choix=`getparam 5`
message=`echo ${params} | awk 'BEGIN {FS="&"} {print $1}' | cut -f2 -d'='`
#
# Traitement proprement dit qui utilise les parametres
#
echo "<h1>Ceci est le résultat du questionnaire</h1>"
echo "<hr>"
echo "Vous, <b>${prenom}</b> <b>${nom}</b>, dont la couleur favorite est"
echo "<b>${couleur}</b>, vous avez repondu <b>${choix}</b> à la"
echo "question car vous pensez que :"
echo "<p>"
echo "<b>${message}</b>"
echo "<hr>"
#
# Terminaison HTML
#
echo "</body></html>"
Philippe Dax
$Date: 07/12/1995 $