掲示板に投稿編集機能付けたい
掲示板に投稿編集機能付けたい
http://okwave.jp/qa2963467.html
追加質問をどうやってすればいいのか分からないので、また質問させて頂きます。
前回教えて頂いたのを四苦八苦して何度もやり直ししたあげく、
なんとか修正画面を出せるようになりましたが、、
修正画面から戻るボタンを押すと記事が見当たらないと表示されてします。
どうやら、edit機能が効いてなく、飛んだ瞬間に削除が働いている気がします。
#--修正対象データが見つかるまでループ--#
$flag1 = 0;
$flag2 = 0;
foreach $line (@DATA) {
($no,$name,$mail,$age,$state,$comment,$hoop,$risou,$max,$date,$H_A,$m_pass,$looks) = split(/\,/, $line);
if ($in{'number'} eq "$no") {
$flag1 = 1;
chomp $m_pass;
if ($crypted eq "$m_pass" || $in{'pass'} eq "$master_key") {
$flag2 = 1;
$line =~ s/.*\n//;
last;
} else { &lock2; &error("パスワードが一致しません"); }
}
}
#--修正対象Noが見つからなかった場合のエラー処理ー--#
unless ($flag1) { &lock2; &error("記事No$in{'number'}が見つかりません"); }
if ($flag2) {
if ($in{'sex'} eq "0") {
if (!open(OUT,">$mensfile")) {
&lock2;
&error("$mensfile ファイルオープンエラー");
}
print OUT @DATA;
close(OUT);
}
elsif ($in{'sex'} eq "1") {
if (!open(OUT,">$ladysfile")) {
&lock2;
&error("$ladysfile ファイルオープンエラー");
}
print OUT @DATA;
close(OUT);
}
&lock2;
しかも、修正画面にそれぞれの箇所が反映されません。
print <<"HERE";
<TR><TD nowrap align="right">会員ID/</TD><TD nowrap>
<INPUT type="text" name="id" size="10" value="$id"></TD></TR><BR>
HERE
print <<"HERE";
<TR><TD nowrap align="right">お名前/</TD>
<TD nowrap><INPUT type="text" size="24" name="name" value="$name">
<INPUT type="radio" name="sex" value="0">男性
<INPUT type="radio" name="sex" value="1">女性</TD></TR><BR>
HERE
print <<"HERE";
<TR><TD nowrap align="right">E-mail/</TD>
<TD nowrap><INPUT type="text" size="48" name="email" value="$email"></TD></TR><BR>
HERE
print <<"HERE";
<TR><TD nowrap align="right">希望する相手/</TD>
<TD nowrap><INPUT type="text" size="29" name="risou" value="$risou">
<SELECT name="hoop">
<OPTION selected>男女ともに</OPTION>
<OPTION value="男性のみ">男性のみ</OPTION>
<OPTION value="女性のみ">女性のみ</OPTION></SELECT></TD></TR><BR>
HERE
print <<"HERE";
<TR><TD nowrap align="right">タイトル/</TD>
<TD nowrap><input type="text" size="46" name="title" value="$title"></TD></TR><BR>
HERE
print <<"HERE";
<TR><TD nowrap align="right" valign="top">メッセージ/</TD>
<TD nowrap><TEXTAREA name="comment" rows="10" cols="53" value="$comment"></TEXTAREA></TD></TR><BR>
HERE
print <<"HERE";
<TR><TD align="right">メール制限/</TD><TD nowrap>
<SELECT name="max">
<OPTION value="0" selected>制限なし</OPTION>
<OPTION value="5">5通まで</OPTION>
<OPTION value="10">10通まで</OPTION>
<OPTION value="20">20通まで</OPTION>
<OPTION value="30">30通まで</OPTION>
<OPTION value="40">40通まで</OPTION>
<OPTION value="50">50通まで</OPTION>
</SELECT></TD></TR><BR>
HERE
print <<"HERE";
<TR><TD nowrap align="right"></TD>
<TD nowrap colspan="2">
<INPUT type="submit" value=" 書込する "><INPUT type="reset" value="リセット">
</TD></TR></TABLE><BR>
</FORM>
HERE
&html_footer;
exit;
}
exit;
}
このような記述で画面は出せました。
もう悩み過ぎて禿げそうです。
どうやったら正常な修正機能を追加できるでしょうか?