プログラム質問箱への投稿
記事番号00590へのフォローを投稿します。
引用記事中のHTMLをエスケープせずに
そのまま引用
することも出来ます。
お名前(ペンネイムで結構ですが必要です)
(
ブラウザに個人情報を覚えさせない)
電子メイルアドレス(必要です)
題名(必要です)
Home Page がある方はリンク希望先の URL を記載して下さい
会議室に載せたい内容を以下へお書き下さい (
HTMLを解釈せずにそのまま表示)
1月22日に、三葉工房の管理者さんは書きました。 >又,質問して済みません。 >毎日,これからの三葉工房の業務進展の為に,cgiの技術が >必要なのでperlを研究しています。 > >perlの現実は,よく確かめたこれでこのプログラムは,確実にまちがいなく >実行されるぞ! 実行を試みたが100%実行確実のプログラムが実行されない >のが当り前な事だと思います。 > >そして,今回もこの様な事で,私なりに精一杯,実行成功の確かめられている >ダウンロードした自動リンクプログラム(N.S.E2.75)の記事削除のルーチンと >自分の記述した同じ目的のルーチンを皿の様に確かめ続けた上での,質問です。 > > その様に精一杯どこが可笑しいのかを確かめましたが,可笑しい所は,どこにも >ありません。本来ならば,100%実行成立のルーチンですが,奇蹟的に実行不正立 >なのです。そのルーチンをN.S.Eの場合と,自分の場合の記事削除のルーチンを以下 >にコピーします。 > >N.S.E2.75の記事削除のルーチン(N.S.E2.75は,http://www.cinovi.com/cgitips/から >ダウンロード可能) >$in{'Cat'}には,スポーツ,趣味娯楽等の自動リンクのカテゴリ名が入る。$in{'Cat'}.dat >で書き込みファイル名です。 >(if ($in{'action'} eq "delete") {&delete;} # 選択された項目を削除) >の条件分岐文で,sub deleteに進む) >*************************************************************** >sub del_view {#修正するファイルの選択 > > &PrintHeader; > >print <<"EOF"; ><html><head><title>修正するファイルの選択</title></head><body background="http://www.geocities.co.jp/SiliconValley-PaloAlto/6004/kkoyaku/ocahr.gif" text=#000000> ><p><center><img src="http://www.geocities.co.jp/SiliconValley-PaloAlto/6004/mikoo/mitsubascp.gif"></center><p><form method="get" action="search.cgi"> ><input type=hidden name="action" value="delete"> ><input type=hidden name="Cat" value="$in{'Cat'}"> >EOF > open (DB, "$BaseDir/$in{'Cat'}.dat"); > @shadow = <DB>; > close DB; > > foreach $shadow (@shadow) { > @Temp = split (/&&/, $shadow); > print "<input type=radio name=\"target\" value=\"$Temp[0]$Temp[2]$Temp[5]\">\n"; > > print "$Temp[1]:<a href=\"$Temp[2]\">$Temp[2]</a><br>\n"; > } > >print <<"EOF"; ><p> ><input type=submit value="削 除"> ></form> ></body></html> >EOF >exit; >} > >#------------------------------------------# >sub delete { # 選択した項目の削除 > > &PrintHeader; > >print <<"EOF"; ><html> ><head><META HTTP-EQUIV=REFRESH CONTENT="4;URL=$BaseURL/"> ><title>作業終了</title></head> ><body background="http://www.geocities.co.jp/SiliconValley-PaloAlto/6004/kkoyaku/ocahr.gif" text=#000000> >EOF > > $Target = $in{'target'}; > > open (DB, "$BaseDir/$in{'Cat'}.dat"); > @lines = <DB>; > close (DB); > > open (DB, ">$BaseDir/$in{'Cat'}.dat"); > foreach $edit (@lines) { > @Temp = split (/&&/, $edit); > if ("$Temp[0]$Temp[2]$Temp[5]" ne "$Target") { > print DB "$edit"; > } > } > close (DB); >print <<"EOF"; >作業が終了しました。<br> ><br> ><a href="$BaseURL/">戻る</a><p> ></body></html> >EOF >exit; >} > >そして,以下のが自分の記事削除ルーチンです。こちらの$in{'Cat'}には,書き込みファイル名です。 >(if ($in{'action'} eq "delete") {&cutplay;} >の条件分岐文で,sub cutplayに進む) >*************************************************************** >sub passck{ >open (CAT, "$BaseDir/$newmg") || die "ファイルが開きません!\n, >何処かの構文が間違っています!"; >@Catdata=<CAT>; >close CAT; >$caturl = @Catdata; >print "Content-type: text/html\n\n"; >print "<html>\n"; >print "<head><title>パスワードが一致しました。</title><head></head>\n"; >print "<body bgcolor=\"#66ff00\">\n"; >print "<center>\n"; >print "<font color=\"#550000\" size=6><b>パスワードが一致しました。</b></font>\n"; >print "<p>\n"; >print "<font color=\"#000033\" size=5><b>パスワードが一致しました。消去したい記事にチェックを入れてサブミットして下さい。</b></font>\n"; >print "<p>\n"; >print "<a href=\"golygth.cgi\">\n"; >print "<font color=\"#333300\" size=5><b>掲示板へ戻る</b></font>\n"; >print "</a>\n"; >print "</center>\n"; >print "<hr size=5>\n"; >print "<font color=\"#000066\" size=5><b>現在の掲載記事($caturl 件)</b></font>\n"; >print "<hr size=5>\n"; >print "<form method=POST action=\"golygth.cgi\">\n"; >print "<input type=hidden name=\"action\" value=\"delete\">\n"; >print "<input type=hidden name=\"Cat\" value=\"$newmg\">\n"; >if($enty eq "0"){@Catdata=reverse(@Catdata);} >foreach $rematch(@Catdata){ >@catchin=split(/&&/, $rematch); >print "<input type=radio name=\"target\" value=\"$catchin[0]$catchin[2]$catchin[3]\">\n"; >print "<a href=\"mailto:$catchin[0]\">\n"; >print "<font color=\"#006600\" size=4>$catchin[1]</font>\n"; >print "</a>\n"; >print "<font color=\"#000066\" size=3>:$catchin[2]</font>\n"; >print "<br>\n"; >print "<a href=\"$catchin[3]\" target=\"new\">\n"; >print "<font color=\"#990066\" size=3>$catchin[4]</font>\n"; >print "</a>\n"; >print "<br>\n"; >print "<font color=\"#330000\" size=3>$catchin[5]</font>"; >print "<hr size=5>\n"; >} > >print "<center>\n"; >print "<input type=submit name=\"submit\" value=\"削除実行\">\n"; >print "</form>\n"; >print "</center>\n"; >print "</body>\n"; >print "</html>\n"; > >exit;} >sub cutplay{ >print "Content-type: text/html\n\n"; >print <<"ALPS"; ><html><head><title>削除処理完了</title><meta http-equiv="refresh" content="5; url=$NEWURL "></head><body bgcolor=\"#ff0000\"><p><font color=\"aqua\" size=4><b> >$in{'target'}</b></font> >ALPS > > >open (CAT, "$BaseDir/$in{'Cat'}") || die "ファイルが開きません!\n, >何処かの構文が間違っています!"; >@lines = <CAT>; >close (CAT); > >open (CAT, ">$BaseDir/$in{'Cat'}") || die "ファイルが開きません!\n, >何処かの構文が間違っています!"; >foreach $ereize (@lines){ >@catchin=split(/&&/, $ereize); >if("$catchin[0]$catchin[2]$catchin[3]" ne $in{'target'}) >{print CAT "$ereize";}} >close (CAT); >print <<"ALPS"; > ><center><font color=\"#00ff00\" size=6><b>削除処理完了</b></font><p> ><font color=\"#ffff00\" size=5><b>彼方のチェック為た記事を削除しました。</b></font><p><a href=\"golygth.cgi\"><font color=\"#ccffff\" size=5><b>掲示板へ戻る</b></font></a></center></body></html> >ALPS >exit;} > >いかがでしょうか,特にそれぞれサブルーチン2つに分かれていますが,特に下の記事の >削除を実行するプログラム,ファイルハンドル名は,N.S.Eのと,自分のとでは,違いますが >プログラムの書き方は,全く同じです。全く同じなのに関わらず1つ違う点がございます。 >それが,N.S.Eでは,in{'target'}のラジオボタンがチェックされたのが,消去されますが >自分のは,チェックしたのも消去されずに残ってしまってる所です。 > > 何故,N.S.Eの書き方と全く同じなのに私のスクリプトでは,記事消去が実行出来ないのでしょうか。 >何度も確認して,可笑しい所や構文ミスは,全く見つかりませんでした。それで,実行 >出来ない事事態あまりにも不自然過ぎて納得行きません。 >もちろん,問題スクリプトも下にコピーします。 >御忙しい所,たびたびで済みませんが,どうかアドバイス宜しくお願いします。 > >問題スクリプトgolygth.cgi > >#!/usr/local/bin/perl >$|=1; >require './jcode.pl'; >($sec,$min,$hour,$day,$mon,$year,$wday)=localtime(time); >$mon++; >$seirei = ($year+1900); >$wareki = ($year-88); >$BaseDir = "$ENV{'HOME'}/html/search"; >$NEWURL= "http://www.amy.hi-ho.ne.jp/cgi-bin/user/nature-create/golygth.cgi"; >$newmg = "newmg.dat"; >@week = ("日","月","火","水","木","金","土"); >$yobi = $week[$wday]; >if($man<10){$mon="0$mon";} >if($day<10){$day="0$day";} >if($hour<10){$hour="0$hour";} >if($min<10){$min="0$min";} >if($sec<10){$min="0$sec";} >$date ="$seirei年(平成$wareki年)$mon月$day日 $yobi曜日$hour時$min分$sec秒"; >#最高コメント数制限 >$maxcment = "105"; >#最低コメント数制限 >$remaxcment = "52"; >#過剰コメント不足の最大数値 >$mostsmall = "28"; >#過剰コメント超過の最小数値 >$mostbig = "128"; >#過剰コメント不足の差不足設定エラー数値下限 >$ersnall = ($remaxcment-20); >#過剰コメント超過の差不足設定エラー数値上限 >$erbig = $maxcment+20; >$dbsmall = $remaxcment-$ersnall; >$dbbig = $erbig-$maxcment; >if($mostsmall>$ersnall){print <<"MOTER"; >Content-type: text/html > ><html><head><title>過剰コメント不足エラー</title></head> ><body bgcolor=\"#ccffff\"> ><center><font color=\"#550000\" size=6><b>過剰コメント不足エラー</b></font></center><p><font color=\"#000055\" size=5><b>過剰コメント不足の設定値が$mostsmallと最低基準値$remaxcmentとの差が$dbsmall以内です。</b></font><p><center><font color=\"#663300\" size=5><b>適切な数値に書き直して下さい!</b></font></center></body></html> >MOTER >exit; >} >if($mostbig<$erbig){print <<"REMOTER"; >Content-type: text/html > ><html><head><title>過剰コメント超過エラー</title></head> ><body bgcolor=\"#ffff99\"> ><center><font color=\"#550000\" size=6><b>過剰コメント超過エラー</b></font></center><p><font color=\"#000055\" size=5><b>過剰コメント超過の設定値が$mostbigと最大基準値$maxcmentとの差が$dbbig以内です。</b></font><p><center><font color=\"#663300\" size=5><b>適切な数値に書き直して下さい!</b></font></center></body></html> >REMOTER >exit; >} > >#1を選択で新規記事は,リスト最上段,それ以外は,リスト最下段 >$enty ="1"; >#一度に掲載する記事数 >$maxmsg ="4"; >#パスワード名 >$password="jgtyhj88"; > > > > >if ($ENV{'REQUEST_METHOD'} eq "POST") >{ >read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); >} >else{$buffer = $ENV{'QUERY_STRING'};} >@pairs = split(/&/, $buffer); > > >foreach $pair (@pairs) >{ >($name, $value) = split(/=/, $pair); > >$value =~ tr/+/ /; >$value =~ s/ / /g; >$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; >$value =~s/<!--(.|\n)*-->//g; >$value =~s/\*//g; >$value =~ s/</&lt;/g; >$value =~ s/>/&gt;/g; >$value =~ s/\r\n/<br>/g; >$value =~ s/\n//g; >$in{$name} = $value; >} >&jcode'h2z_sjis(*value,'sjis'); >&jcode'convert(*value,'sjis'); > >if($in{'action'} eq "delete"){ >&cutplay; > >} >if($in{'submit'} eq "仮実行"){ >&erpass; >&passck; >} >if ($in{'submit'} eq '登録') { >&check; >&toppage;} > > >else {&toppage;} > > > > > >sub toppage{ >if($in{'action'} eq "repage"){ >&rever;} >if($in{'action'} eq "passch"){&passck;} >open (SSTBOOK, "$BaseDir/$newmg") ||die "ファイルが開きません!\n, >何処かの構文が間違っています!"; >@Data=<SSTBOOK>; >close SSTBOOK; >$cnturl = @Data; > >print "Content-type: text/html\n\n"; > >print "<html>\n"; >print "<head>\n"; >print "<title>進性能掲示板(V-up.スクリプト)</title>\n"; >print "</head>\n"; >print "<body bgcolor=\"orange\">\n"; >print "<p>\n"; >print "<table bgcolor=\"black\" border=5>\n"; >print "<tr>\n"; >print "<th>\n"; >print "<font color=\"orange\"size=5>\n"; >print "<b>進性能掲示板(V-up.スクリプト)</b>\n"; >print "</font>\n"; >print "</th>\n"; >print "</tr>\n"; >print "<tr>\n"; >print "<td>\n"; >print "<font color=\"yellow\"size=4>(注意!)此の試験実行掲示板のコメント文字数は,$remaxcment文字以上$maxcment文字以内の範囲に制限されていますので,その範囲内の文字数で御記入願います。<br> >現在時刻:$date</font>\n"; >print "</td>\n"; >print "</tr>\n"; >print "<tr>\n"; >print "<th>\n"; >print "<center>\n"; >print "<a href=\"/nature-create/search/index.html\">\n"; >print "<font color=\"yellow\"size=4>MISTUBA SEARCHPAGE</font>\n"; >print "</a>\n"; >print "</center>\n"; >print "</th>\n"; >print "</tr>\n"; >print "<tr>\n"; >print "<th>\n"; >print "<center>\n"; >print "<a href=\"/cgi-bin/user/nature-create/golygth.cgi?action=repage\">\n"; >print "<font color=\"yellow\"size=4>変更.削除</font>\n"; >print "</a>\n"; >print "</center>\n"; >print "</th>\n"; >print "</tr>\n"; >print "</table>\n"; >print "</center>\n"; >print "<p>\n"; >print "<form method=POST action=\"golygth.cgi\" >\n"; >print "<p>\n"; >print "<table bgcolor=\"#ffcc99\" border=5>\n"; >print "<tr>\n"; >print "<th>\n"; >print "<font color=\"navy\"size=4>\n"; >print "<b>登録者名</b>\n"; >print "</font>\n"; >print "</th>\n"; >print "</tr>\n"; >print "</table>\n"; >print "<p>\n"; >print "<input name=\"yourname\" size=45>\n"; >print "<p>\n"; >print "<table bgcolor=\"#ffcc99\" border=5>\n"; >print "<tr>\n"; >print "<th>\n"; >print "<font color=\"navy\"size=4>\n"; >print "<b>Eメールアドレス</b>\n"; >print "</font>\n"; >print "</th>\n"; >print "</tr>\n"; >print "</table>\n"; >print "<p>\n"; >print "<input name=\"mail\" size=45>\n"; >print "<p>\n"; >print "<table bgcolor=\"#ffcc99\" border=5>\n"; >print "<tr>\n"; >print "<th>\n"; >print "<font color=\"navy\"size=4>\n"; >print "<b>登録者のホームページ名</b>\n"; >print "</font>\n"; >print "</th>\n"; >print "</tr>\n"; >print "</table>\n"; >print "<p>\n"; >print "<input name=\"hpagename\" size=60>\n"; >print "<p>\n"; >print "<table bgcolor=\"#ffcc99\" border=5>\n"; >print "<tr>\n"; >print "<th>\n"; >print "<font color=\"navy\"size=4>\n"; >print "<b>ホームページのURL</b>\n"; >print "</font>\n"; >print "</th>\n"; >print "</tr>\n"; >print "</table>\n"; >print "<p>\n"; >print "<input name=\"gurl\" value=\"http://\" size=60>\n"; >print "<p>\n"; >print "<table bgcolor=\"#ffcc99\" border=5>\n"; >print "<tr>\n"; >print "<th>\n"; >print "<font color=\"navy\"size=4>\n"; >print "<b>コメント</b>\n"; >print "</font>\n"; >print "</th>\n"; >print "</tr>\n"; >print "</table>\n"; >print "<p>\n"; >print "<textarea name=\"coment\" rows=4 cols=60 wrap=\"soft\"></textarea>\n"; >print "<p>\n"; >print "<center>\n"; >print "<input type=submit name=\"submit\" value=\"登録\">\n"; >print "<p>\n"; >print "<input type=reset value=\"リセット\">\n"; >print "</center>\n"; >print "</form>\n"; >print "<hr size=5>\n"; >print "<center>\n"; >print "<font color=\"#330066\" size=5>\n"; >print "<b>此れ迄の書き込み:$cnturl件が登録されています。</b>\n"; >print "</font>\n"; >print "</center>\n"; >print "<hr size=5>\n"; >if($enty eq "0"){@Data=reverse(@Data);} >foreach $match(@Data){ >@catchin=split(/&&/, $match); >print "<a href=\"mailto:$catchin[0]\">\n"; >print "<font color=\"#006600\" size=4>$catchin[1]</font>\n"; >print "</a>\n"; >print "<font color=\"#000066\" size=3>:$catchin[2]</font>\n"; >print "<br>\n"; >print "<a href=\"$catchin[3]\" target=\"new\">\n"; >print "<font color=\"#990066\" size=3>$catchin[4]</font>\n"; >print "</a>\n"; >print "<br>\n"; >print "<font color=\"#330000\" size=3>$catchin[5]</font>"; >print "<hr size=5>\n"; >} >print "</body>\n"; >print "</html>\n"; >exit;} >sub rever{ > > > >print <<"MARCAR"; >Content-type: text/html > ><html><head><title>変更.削除ROOM</title></head> ><body bgcolor=\"#00ff00\"> ><center><font color=\"#550000\" size=6><b>変更.削除ROOM</b></font></center><p> ><font color=\"#000055\" size=5><b>パスワードを御記入下さい</b></font><br> ><form method=POST action="golygth.cgi" > ><input type=text name="password" size=8 maxlangth=8><p><center><input type=submit name="submit" value="仮実行"><p><input type=reset value=\"リセット\"></form></center><p><a href="golygth.cgi"><font color=\"#663300\" size=5><b>掲示板へ戻る</b></font></a></center></body></html> >MARCAR >exit;} >sub erpass{if($in{'password'} ne "$password") >{ > >print <<"ERPS"; >Content-type: text/html > ><html><head><title>パスワードが違います!</title></head> ><body bgcolor=\"#339966\"> ><center><font color=\"#550000\" size=6><b>パスワードが違います!</b></font><p> ><font color=\"#000033\" size=5><b>パスワードが違いますので,もう一度<a href=\"/cgi-bin/user/nature-create/golygth.cgi?action=repage\"><font color=\"#440000\" size=5>変更.削除</a></font>の部屋に御戻りに成り,パスワードを入れ直して下さい。</b></font><p><a href=\"golygth.cgi\"><font color=\"#333300\" size=5><b>掲示板へ戻る</b></font></a></center></body></html> >ERPS >exit;}} >sub passck{ >open (CAT, "$BaseDir/$newmg") || die "ファイルが開きません!\n, >何処かの構文が間違っています!"; >@Catdata=<CAT>; >close CAT; >$caturl = @Catdata; >print "Content-type: text/html\n\n"; >print "<html>\n"; >print "<head><title>パスワードが一致しました。</title><head></head>\n"; >print "<body bgcolor=\"#66ff00\">\n"; >print "<center>\n"; >print "<font color=\"#550000\" size=6><b>パスワードが一致しました。</b></font>\n"; >print "<p>\n"; >print "<font color=\"#000033\" size=5><b>パスワードが一致しました。消去したい記事にチェックを入れてサブミットして下さい。</b></font>\n"; >print "<p>\n"; >print "<a href=\"golygth.cgi\">\n"; >print "<font color=\"#333300\" size=5><b>掲示板へ戻る</b></font>\n"; >print "</a>\n"; >print "</center>\n"; >print "<hr size=5>\n"; >print "<font color=\"#000066\" size=5><b>現在の掲載記事($caturl 件)</b></font>\n"; >print "<hr size=5>\n"; >print "<form method=POST action=\"golygth.cgi\">\n"; >print "<input type=hidden name=\"action\" value=\"delete\">\n"; >print "<input type=hidden name=\"Cat\" value=\"$newmg\">\n"; >if($enty eq "0"){@Catdata=reverse(@Catdata);} >foreach $rematch(@Catdata){ >@catchin=split(/&&/, $rematch); >print "<input type=radio name=\"target\" value=\"$catchin[0]$catchin[2]$catchin[3]\">\n"; >print "<a href=\"mailto:$catchin[0]\">\n"; >print "<font color=\"#006600\" size=4>$catchin[1]</font>\n"; >print "</a>\n"; >print "<font color=\"#000066\" size=3>:$catchin[2]</font>\n"; >print "<br>\n"; >print "<a href=\"$catchin[3]\" target=\"new\">\n"; >print "<font color=\"#990066\" size=3>$catchin[4]</font>\n"; >print "</a>\n"; >print "<br>\n"; >print "<font color=\"#330000\" size=3>$catchin[5]</font>"; >print "<hr size=5>\n"; >} > >print "<center>\n"; >print "<input type=submit name=\"submit\" value=\"削除実行\">\n"; >print "</form>\n"; >print "</center>\n"; >print "</body>\n"; >print "</html>\n"; > >exit;} >sub cutplay{ >print "Content-type: text/html\n\n"; >print <<"ALPS"; ><html><head><title>削除処理完了</title><meta http-equiv="refresh" content="5; url=$NEWURL "></head><body bgcolor=\"#ff0000\"> >ALPS > > >open (CAT, "$BaseDir/$in{'Cat'}") || die "ファイルが開きません!\n, >何処かの構文が間違っています!"; >@lines = <CAT>; >close (CAT); > >open (CAT, ">$BaseDir/$in{'Cat'}") || die "ファイルが開きません!\n, >何処かの構文が間違っています!"; >foreach $ereize (@lines){ >@catchin=split(/&&/, $ereize); >if("$catchin[0]$catchin[2]$catchin[3]" ne $in{'target'}) >{print CAT "$ereize";}} >close (CAT); >print <<"ALPS"; > ><center><font color=\"#00ff00\" size=6><b>削除処理完了</b></font><p> ><font color=\"#ffff00\" size=5><b>彼方のチェック為た記事を削除しました。</b></font><p><font color=\"aqua\" size=4><b> >$in{'target'}</b></font><br><font color=\"aqua\" size=4><b>$in{'Cat'}</b></font><p><a href=\"golygth.cgi\"><font color=\"#ccffff\" size=5><b>掲示板へ戻る</b></font></a></center></body></html> >ALPS >exit;} > >sub check{ >if ($in{'yourname'} eq "") {&noname;} >sub noname{print <<"NONAME"; >Content-type: text/html > ><html><head><title>名前が記入されていません!</title></head> ><body bgcolor=\"#ccff99\"> ><center><font color=\"#550000\" size=6><b>名前が記入されていません!</b></font><p><font color=\"#000055\" size=5><b>名前をフォームに記入為無ければ登録出来ません。</b></font><p><table bgcolor=\"#000000\" border=5><tr><th><a href=\"golygth.cgi\"><font color=\"#ccccff\" size=5>掲示板へ戻る</font></a></th></tr><tr><th><font color=\"#00ff00\" size=5>$date</th></tr></table></center></body></html> >NONAME > exit; >} >$smallloss = $remaxcment-$mostsmall; >$bigloss = $mostbig-$maxcment; >$wordcnt = length($in{'coment'}); >$wordbit = $wordcnt/2; >$overtop = $wordbit-$maxcment; >$overdown = $remaxcment-$wordbit; >if ($wordbit>$mostbig) {print <<"MOROVER"; >Content-type: text/html > ><html><head><title>かなりコメント数が$overtop個もオーバーしました!</title></head> ><body bgcolor=\"\#cc0000\"> ><font color=\"\#ffff66\" size=5><b>彼方の記入されたコメント数は $wordbit個で,当フォームは,基準値の$remaxcment~$maxcment個よりコメント数が$bigloss個以上も多い場合に時に当ページが出力されてしまいます。</b> ></font><p> ><font color=\"\#ccffcc\" size=5>そのコメント数は基準の$remaxcment~$maxcment個に$overtop個ものかなりのオーバーです。 </font> ></body></html> >MOROVER >exit;} >if ($wordbit>$maxcment) { print <<"OVER"; >Content-type: text/html > ><html><head><title>コメント数が$overtop個越えています!</title></head> ><body bgcolor=\"\#003399\"> ><font color=\"\#ffff66\" size=5><b>彼方の記入されたコメント数は $wordbit個です。</b> ></font><p> ><font color=\"\#ccffcc\" size=5>そのコメント数は基準の$remaxcment~$maxcment個より$overtop個オーバーしています。</font> ></body></html> >OVER >exit;} > >if($wordbit>0) {if($wordbit<$mostsmall) {print <<"MORDOWN"; >Content-type: text/html > ><html><head><title>かなりコメント数が$overdown個も足りません!</title></head> ><body bgcolor=\"\#110000\"> ><font color=\"\#ffff66\" size=5><b>彼方の記入されたコメント数は $wordbit個で,当フォームは,基準値の$remaxcment~$maxcment個よりコメント数が$smallloss個以上も少ない時に当ページが出力されてしまいます。</b> ></font><p> ><font color=\"\#ccffcc\" size=5>そのコメント数は基準の$remaxcment~$maxcment個に$overdown個ものかなりの不足です。 </font> ></body></html> >MORDOWN >exit;} > >if ($wordbit<$remaxcment) {print <<"DOWN"; >Content-type: text/html > ><html><head><title>コメント数が$overdown個足りません!</title></head> ><body bgcolor=\"\#660000\"> ><font color=\"\#ffff66\" size=5><b>彼方の記入されたコメント数は $wordbit個です。</b> ></font><p> ><font color=\"\#ccffcc\" size=5>そのコメント数は基準の$remaxcment~$maxcment個に$overdown個不足しています。 </font> ></body></html> >DOWN >exit;} >} > >elsif ($in{'coment'} eq "") {print <<"NOCMT"; >Content-type: text/html > ><html><head><title>コメントが記入されていません!</title></head> ><body bgcolor=\"#ffffcc\"> ><center><font color=\"#550000\" size=6><b>コメントが記入されていません!</b></font><p><font color=\"#000055\" size=5><b>コメントをフォームに記入為無ければ登録出来ません。</b></font><p><table bgcolor=\"#000000\" border=5><tr><th><a href=\"golygth.cgi\"><font color=\"#ccccff\" size=5>掲示板へ戻る</font></a></th></tr><tr><th><font color=\"#00ff00\" size=5>$date</th></tr></table></center></body></html> >NOCMT > exit;} > >&resit; >sub resit{ >if (-e "$BaseDir/$newmg") { >open (SSTBOOK, ">>$BaseDir/$newmg") || die "ファイルが開きません!\n, >何処かの構文が間違っています!"; >print SSTBOOK "$in{'mail'}&&$in{'yourname'}&&$date&&$in{'gurl'}&&$in{'hpagename'}&&$in{'coment'}\n"; >close SSTBOOK;} > >#掲載メッセージの処理 >if (-e "$BaseDir/$newmg") {open (NEW, "$BaseDir/$newmg") || die "ファイルが開きません!\n, >何処かの構文が間違っています!"; >@lines = <NEW>; >close NEW;} >unshift(@lines,"$in{'mail'}&&$in{'yourname'}&&$date&&$in{'gurl'}&&$in{'hpagename'}&&$in{'coment'}\n"); >splice(@lines,$maxmsg); >open (NEW, ">$BaseDir/$newmg") || die "ファイルが開きません!\n, >何処かの構文が間違っています!"; >flock(NEW,6); >foreach(@lines){ >print NEW;} >close NEW; >print <<"REPLAY"; >Content-type: text/html > ><html><head><title>$in{'yourname'}さん:書き込みを御受け致しました。</title><meta http-equiv="refresh" content="5; url=$NEWURL "></head> ><body bgcolor=\"\#cc66ff\"> ><font color=\"\#660000\" size=5><b>$in{'yourname'}さん,彼方の記入なされたコメント数は,$wordbit個でコメント数規定に合致しました。</b></font><br><font color=\"\#ffff66\" size=5><b>それに伴い書き込みを御受け致しました。どうもありがとうございました。</b> ><p> ><font color=\"\#ccffcc\" size=5>御帰りのページは<a href=\"$NEWURL \">こちら</a>でございます。</font> ></body></html> >REPLAY >exit1;} >exit;} >__END__ > >
ホームペーヂに戻る
nir@mvg.biglobe.ne.jp
Last Update: 2 December 1999