フォームからデータを取得してテキストファイルに保存して表示する際の質問
CGIかなりの初心者です。
infoseek iswebでcgi-lib.plを使って、フォームからデータを取得してテキストファイルに保存してまたそのファイルから読み込んで表示するだけのプログラムを作っているのですが、アクセスするたびにテキストファイルが空になってしまいます。以下のソースなのですが、間違いを指摘していただけないでしょうか?
尚、ひとまず、フォームの項目は3つあり、そのうちの最後だけが0か1か選択でき、他は0しか選択できないようにしています。
#!/usr/bin/perl
require "cgi-lib.pl";
print "Content-type: text/html;\n\n";
# 値をテキストファイルから読み込む
open (IN,"test.txt");
$aaa = <IN>;
close (IN);
$h = substr($aaa,0,1);
$i = substr($aaa,1,1);
$k = substr($aaa,2,1);
print "
<html>
<head>
<title>テスト</title>
</head>
<body>
$h$i$k
<br>
<form method=\"post\" action=\"test.cgi\">
データ1<br><input type=\"radio\" name=\"h\" value=\"0\" checked=\"checked\">0<br>
データ2<br><input type=\"radio\" name=\"i\" value=\"0\" checked=\"checked\">0<br>
データ3<br><input type=\"radio\" name=\"k\" value=\"0\" checked=\"checked\">0<br>
<input type=\"radio\" name=\"k\" value=\"1\">1<br>
<input type=\"submit\" value=\"送信\">
</form>
";
&ReadParse(*form);
# フォームの値を取得
$fh = $form{"h"};
$fi = $form{"i"};
$fk = $form{"k"};
# 値をテキストファイルに書き出す
@faaa = ("$fh","$fi","$fk");
open (OUT,"> test.txt");
print OUT @faaa;
close (OUT);
print "
</body>
</html>
";
お礼
ありがとうございました。 とりあえずもう一度、最初から考え直してみます。