HTMLとの連携

 
 
テキストボックスにデータを入力し、それをCGI 経由で送る──いわゆるフォームというやつですね。慣れると結構使い勝手がいいものですが、アクセスカウンタと同様、フォームプログラムはプロバイダの方で用意しているというケースも多いようです。でも、フォームプログラム程度なら誰でも簡単にできると思いますよ。
ではまずHTMLの方から。
 
 
<FORM method="post" action="CGI プログラムファイル名.cgi">
<INPUT type="text" name="data1" size=10><BR>
<INPUT type="password" name="data2" size=10><BR>
<INPUT type="textarea" name="data3" rows=5 cols=40>
</FORM>
 
 
青い文字の部分は、フォームプログラム名です。相対パスでも構いません。のtypeは、テキストボックスのタイプです。「text」だと普通のテキストボックス、「password」だと文字がアスタリスク「*」として表示されます。「textarea」は掲示板にもよくあるような大きなヤツです。この場合だと40文字5列分のテキストエリアとなります。オレンジ色は……まあ、名札と思ってもらえればいいです。つまり「data1」がテキストボックスを指しているわけです。
 
さて、次はPerl の方です。ファイル名を、上記の青い文字と同じものにすることに注意して下さいね。
 
 
$data1=$in{ 'data1' } ;
$data2=$in{ 'data2' } ;
$data3=$in{ 'data3' } ;
 
 
たったこれだけで、データを取り出すことができます……が、フォームに入力されたデータはエンコードが行われるので、デコード(解読)してやる必要があります。これは大変面倒くさいことなので、他人にやってもらいましょう(笑)
 
 http://cgi-lib.berkeley.edu/
 
上記のサイトから、「cgi-lib.pl」というライブラリをDLしてきましょう。これをフォームプログラムと同じディレクトリにアップし、データを取り出す表記の前に、
 
 
require 'cgi-bin.pl';
&ReadParse(*in);
 
 
以上の2行を付け加えます。赤文字の「in」は何でもいいです。これでデコードはできますので、あとはデータを煮るなり焼くなり、どうぞご自由に……(^^)/~~
 
 
 
 
 
Programming's top