- フォーム -
♣cgi-lib.pl
フォームからデータを受け取ったり、出力したり、標準HTMLの出力をしたりするときに使います。
◆書かれているサブルーチン
| ReadParse | CGIデータを解析し、連想配列(ハッシュ)にセットする。 | &ReadParse(*配列名); |
|---|
◆formで必ず使うパス
require './cgi-lib.pl';
&ReadParse(*formdata);
require './jcode.pl';
&jcode::convert(*formdata, 'sjis');
require './jcode.pl';
&jcode::convert(\$form, 'jis');
※配列なら*を。スカラ−変数なら\を付ける事!
メールはJISコードに文字を変換しなければならない。 でないとメールで受信した際に文字化けが起こる。
↑cgi-lib.plとjcode.pl
♣基本文法
#!C:\Perl\bin\perl
#==================================================
# 変数の設定
#==================================================
require './cgi-lib.pl'; #入力されたデータを連想配列に収納する為のライブラリ
&ReadParse(*formdata); #*formdata は受け取った連想配列を%(配列)の名前
require './jcode.pl'; #文字エンコードのライブラリ
&jcode::convert(*formdata, 'sjis'); #収納されている
連想配列%formdataをすべてS-JISに変換
$data = $formdata{'name'}; #受け取ったデータをすべて変数dataに収納
#==================================================
# データの書き込み
#==================================================
open(FILE, ">>form.dat") || die "File Open Error"; #データの書き込み
flock(FILE, 2);
print FILE $data; #form.datファイルに書き込み
flock(FILE, 8);
close(FILE);
#==================================================
# ありがとう画面の出力
#==================================================
print "Content-type: text/html\n\n";
print << "END_OF_HTML";
<html>
<head>
<title>感謝!</title>
</head>
<body>
<center>
<p>アンケートは送信されました。<br>
ご協力ありがとうございました。</p>
</center>
</body>
</html>
END_OF_HTML