- 論壇徽章:
- 0
|
下面這個程序是一個解析表單的cgi程序,for循環(huán)中的最后三行與程序最后幾個printf怎樣聯(lián)系起來?
請問這三行的詳細分析
printf中的變量來表單,它的由來請看下面另給出的一個程序。我向表單中填入信息后QEQUEST_METHOD的值是
contact=wang&film=The+Sound+of+Music&actor=Lauren+Bacall&view_vid=on&textarea=That+a+good+film%21
#!/bin/bash
echo "Content-type: text/html"
echo ""
echo "<html><pre>"
echo "Method REQUEST_METHOD"
echo "Query String QUERY_STRING"
echo "<hr/>"
line=`echo $QUERY_STRING | sed 's/&/ /g'`
for loop in $line
do
name=`echo $loop | sed 's/=/ /g' | awk '{print $1}'`
type=`echo $loop | sed 's/=/ /g' | awk '{print $2}' | \
sed -e 's/%\(\)/\\\x/g' | sed 's/+/ /g'`
printf "${name}=${type}\n"
vars=`printf "${name}=\\${type}\n"`
eval `printf $vars`
done
echo "<hr/>"
printf "Your name is : $contact\n"
printf "Your choice of film is : $film\n"
printf "Your choice of actor is : $actor\n"
printf "Your watch films at the cinema : $view_cine\n"
printf "You watch films on video : $view_vid\n"
printf "And here are your comments : $textarea\n"
echo "</pre>"
echo "</html>"
下面是生成表單的cgi程序,先在地址欄運行這個程序,它將調(diào)用conv.cgi,就是上面的程序
#!/bin/bash
echo "Content-type: text/html"
echo ""
echo "<html>"
echo "<body>"
echo "<form action="/cgi-bin/conv.cgi" method="get">"
echo "<h4>CGI FORM</h4>"
echo "Your Name: <input name="contact" size=30><br/><br/>"
echo "<select name="film">"
echo "<option>--Pick a Film --"
echo "<option>A Few Good Men"
echo "<option>Die Hard"
echo "<option>Red October"
echo "<option>The Sound of Music"
echo "<option>Boys In Company C"
echo "<option>Star Wars"
echo "<option>Star Trek"
echo "</select>"
echo "<select name="actor">"
echo "<option--Pick Your Favourite Actor--"
echo "<option>Bruce willis"
echo "<option>Basil Rathbone"
|
|