説明不足でした まず表示用サブルーチン&html(表示画面)に行きます
pass入力後サブルーチン&ehtml(書き込み&削除画面)に移動します
そこで書き込みや削除などをするのですが、書き込み後&ehtmlに戻し、続けて書き込みが
できるようにしたいのですが・・
if ($FORM{'action'} eq "true") { ®ist; }
elsif ($FORM{'action'} eq "del") { &delete; }
elsif ($FORM{'action'} eq "pass") { &ehtml; }
&html;
exit;
sub html {
if (!open(NOTE,"$file")) { &error(bad_file); }
@DATA = <NOTE>;
close(NOTE);
@DATA = reverse(@DATA);
print "<html>\n";
print "<head>\n";
print "<title>$title</title></head>\n";
print "<body bgcolor=#FFFFFF vlink=#0000FF>\n";
print "<form action=$url method=post>\n";
print "<input type=hidden name=action value=pass>\n";
print "<h1>$title</h1><br>\n";
print "<table border=1 cellspacing=1 >\n";
print "<tr>\n";
&WriteTD(0,$yoko-1);
print "</table>\n";
print "<table border=1 cellspacing=1 >\n";
print "<tr>\n";
&WriteTD(1,$yoko-1);
print "</table>\n";
<DIV ALIGN=right><input type=text size=5 name=passwd><input type=submit value=編集></DIV>\n";
print "</body></html>\n";
exit;
}
sub WriteTD{
if (!open(NOTE,"$file")) { &error(bad_file); }
@DATA = <NOTE>;
close(NOTE);
@DATA = reverse(@DATA);
my($jan_num,$yoko,$linemax,$count);
($jan_num,$linemax) = @_;
$count = 0;
foreach(@DATA){
chomp;
my($no,$name,$banar,$se,$jan)=split /<>/;
if($count > $linemax){print"</tr>";$count=0;}
if ($jan eq $jan_num){
print "<td width='140'><a href=http://$name target='_blank'><center><img src=http://$banar height='100' width='60' Border='0' ALT=$se ></a></td></center>\n";
$count++;
}}}
sub ehtml {
if($FORM{'passwd'} eq $passwd){
if (!open(NOTE,"$file")) { &error(bad_file); }
@DATA = <NOTE>;
close(NOTE);
@DATA = reverse(@DATA);
print "<html>\n";
print "<head>\n";
print "<title>$title</title></head>\n";
print "<body bgcolor=#FFFFFF vlink=#0000FF>\n";
print "<div align=center><center>\n";
print "<br>\n";
print "<form action=$url method=post>\n";
print "<input type=hidden name=action value=true>\n";
print "<table border=1 cellspacing=1>\n";
print "<tr>\n";
print "<td align=center>掲示板アドレス</td>\n";
print "<td><input type=text size=29 name=name></td>\n";
print "</tr>\n";
print "<tr>\n";
print "<td align=center>掲示板の名前</td>\n";
print "<td><input type=text size=29 name=banar></td>\n";
print "</tr>\n";
print "<tr>\n";
print "<td align=center>説明</td>\n";
print "<td><input type=text size=29 name=se></td>\n";
print "</tr>\n";
print "<tr>\n";
print "<td align=center>どちらかチェック</td>\n";
print "<td><INPUT TYPE=radio NAME=jan value=0 >個人のみ宣伝可<INPUT TYPE=radio NAME=jan value=1
>商用OK</td>\n";
print "</tr>\n";
print "<tr>\n";
print "<td align=center colspan=2><input type=submit value=登録></td>\n";
print "</tr>\n";
print "</table></center></div>\n";
print "</form>\n";
print "<form action=$url method=POST>\n";
print "<input type=hidden name=action value=del>\n";
my $linemax=$yoko-1;
my $count=0;
for(@DATA){
chomp;
($no,$name,$banar,$se,$jan)=split /<>/;
if($count > $linemax){print"<br>";$count=0;}
print "<INPUT TYPE=checkbox NAME=$no><a href=http://$name><img src=http://$banar height='100' width='60' Border='0' ALT=$se ></a>\n";
$count++;
}
print "<br><input type=submit value=削除>\n";
print "</body></html>\n";
exit;
}}
#3.データ書き込みルーチン
sub regist {
@lines = <IN>;
close(IN);
($nextnum) = split(/\t/, $lines[0]);
$nextnum++;
$value = "$nextnum<>$FORM{'name'}<>$FORM{'banar'}<>$FORM{'se'}<>$FORM{'jan'}<>\n" ;
unshift(@lines, $value);
if (!open(OUT,">$file")) { &error(bad_file); }
print OUT @lines;
close(OUT);
}