- #!/usr/local/bin/perl
-
-
- #送られてくる文字列の長さ
- $length=$ENV{'CONTENT_LENGTH'};
-
- #長さ分だけ標準入力から読み込む
- read(STDIN, $buffer, $length);
-
- #文字列ごとに分割する
- ($shimei,$denwa,$seibetu,$nendai)=split( /&/ , $buffer);
-
- #フォーム名と内容に分割する
- ($name,$value1)= split( /=/ , $shimei);
- ($tel,$value2)=split( /=/ , $denwa);
- ($siyuu,$value3)=split( /=/ , $seibetu);
- ($nenbetu,$value4)=split( /=/ , $nendai);
-
- #フォームから送られたデータにスペースがあると、
- #プラス(+)に置き換えられるので、
- #スペースにしたままにする変換処理をする
- $value1=~ tr/+/ /;
- $value2=~ tr/+/ /;
-
- #フォームから送られたデータの特殊文字や日本語などは
- # % に続く2桁の16進数に置き換えられるので、
- #それを変換しなおす処理をする
- $value1=~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
- $value2=~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
-
-
- print "Content-type: text/html \n\n";
-
- print "<HTML><HEAD><TITLE>CGI-TEST</TITLE></HEAD> \n";
- print "<BODY> \n";
- print "名前 =$value1 \n";
- print "<BR><BR> \n";
- print "電話 =$value2 \n";
- print "<BR><BR> \n";
-
- if ($value3 eq "m"){print "性別 =男性\n";}
- elsif($value3 eq "f"){print "性別 =女性\n";}
- else {print "性別 =エラー\n";}
-
- print "<BR><BR> \n";
- print "年代 =$value4代\n";
- print "</BODY> \n";
- print "</HTML> \n";
-
- exit;
|
form1.cgi をベースに追加・変更した行だけを青字で表示
19.性別と年代の項目は文字列ではないので、
この処理は不要
25.性別と年代の項目は文字列ではないので、
この処理は不要
34.EOFを使わない表記方法
41.「eq」は、=のこと。
もしも代数value3の値が「m」とイコールだったら
男性と表記する。
42.value3の値が「m」ではなく「f」だったら
女性と表記する。
43.「m」でも「f」でもなかった場合は「エラー」表記する。
46.「年代」はチェックしたものによって、
送る値をhtmlの方で設定してあるので
そのまま名前や電話などと同じ表記でよい。 |