掲示板の上部に掲示板説明の欄をつくりたい

このQ&Aのポイント
  • 掲示板の上部にはタイトルやメニューが表示されています。
  • 掲示板説明の欄を追加するためには、スクリプトの特定の部分を変更する必要があります。
  • 具体的な変更箇所として、メニューやタイトル一覧の表示部分、投稿フォームの表示部分が挙げられます。
回答を見る
  • ベストアンサー

掲示板の上部に掲示板説明の欄をつくりたい

こんにちは。今掲示板の設置をしています。            タイトル ---------------------------------------------------------     トップに戻る 新着表示 留意事項 管理 ---------------------------------------------------------           <このあたり> に枠に囲まれた掲示板説明を入れたいと思っています。 おそらく # メニュー部 print "<hr width=\"90%\">\n"; if ($in{'action'} eq "past") { print "[<a href=\"$script\" target=\"_top\">掲示板に戻る</a>]\n"; } else { print "[<a href=\"$homepage\" target=\"_top\">トップに戻る</a>]\n"; } # 新着順表示 if ($in{'list'} ne "new" && $in{'list'} ne "pickup") { print "[<a href=\"$script?list=new\">新着順表\示</a>]\n"; } elsif ($in{'action'} ne "past") { print "[<a href=\"$script?\">通常表\示</a>]\n"; } print "[<a href=\"$script?mode=howto\">留意事項</a>]\n"; print "[<a href=\"$script?mode=admin\">管理用</a>]\n"; print "<hr width=\"90%\"></div>\n"; # タイトル一覧表示 if ($alltitle) { &SubjectList; } # 投稿フォーム if ($in{'list'} ne "pickup") { &form(); } print "<center><br>\n"; if ($in{'list'} eq "new") { &newsort; } elsif ($in{'list'} eq "pickup") { &pickup; } else { このあたりを変えればいいのかなぁと思うのですが、どうしたらいいのかわかりません。どなたか教えていただけないでしょうか?

  • CGI
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.1

print "<hr width=\"90%\"></div>\n"; この行を次のように変えてみてください。 print <<SETUMEI; <hr width="90%"> 説明文・・・ <hr>と</div>の間にタグとかテキストとか適当に書き足す。 </div> SETUMEI

moon1979
質問者

お礼

steel_grayさん さっそく教わったとおりに書き換えてみました。 無事に表示できました^^ ありがとうございました。

関連するQ&A

  • 掲示板(kentさんの所のsunbbs)に1分おきにリフレッシュする方法

    kentさんの所の掲示板のsunbbsについてです。 自動で掲示板を1分おきとか2分おきに自動更新する方法を 探しています。 リフレッシュの文を入れればいいのかもしれませんが どこにどのようにいれればいいのか分かりません。 よろしくお願いします。 下に関係のありそうなところをコピーいたします。 違うかもしれませんが。 #------------------------------------------------- # HTML生成処理 #------------------------------------------------- sub html_regist { local($i,$next,$back,$data); local($file,$page) = @_; open(WR,">$file") || &error("Write Error: $file"); print WR &header('HTML'); # リンク部 print WR "<B><font color=\"$p_color\">$point2</font>"; print WR "<a href=\"$home\" target=\"_top\">Home</a>\n"; if (!$whatsnew) { print WR "<font color=\"$p_color\">$point</font>"; print WR "<a href=\"$script?mode=form\">Post</a>\n"; } print WR "<font color=\"$p_color\">$point</font>"; print WR "<a href=\"$script?mode=find\">Search</a>\n"; # 過去ログ if ($pastkey) { print WR "<font color=\"$p_color\">$point</font>"; print WR "<a href=\"$script?mode=past\">Log</a>\n"; } print WR "<font color=\"$p_color\">$point</font>"; print WR "<a href=\"$script?mode=admin\">Admin</a></B>\n<div align=center>\n"; # タイトル部 if ($t_gif eq '') { print WR "<font color=\"$t_color\" size=6><b style=\"font-size:$t_size\">$title</b></font>\n"; } else { print WR "<img src=\"$t_gif\" width=$tg_w height=$tg_h alt=\"$title\">\n"; } # ひとことメッセージを表示 $message =~ s/\r\n/<br>/g; $message =~ s/\r/<br>/g; $message =~ s/\n/<br>/g; print WR "<P>$message</div><hr>\n"; # 記事を展開 if ($page == 2) { $next = $pagelog+1; $last = $max; } else { $next = 0; $last = $pagelog; } $i=0; open(IN,"$logfile") || &error("Open Error: $logfile"); while ($data = <IN>) { $i++; if ($i < $next) { next; } if ($i > $last) { last; } print WR &log_view($data, $page); } close(IN); if (!$whatsnew) { print WR "<table align=left><tr>\n"; } # 次/前ページのリンクを生成 if (@lines > $pagelog && $page == 1) { print WR "<td><form action=\"$htm_url$nexthtm\">"; print WR "<input type=submit value=\"次ページ\"></td></form>\n"; } elsif (@lines > $pagelog && $page == 2) { print WR "<td><form action=\"$htm_url$htmfile\">"; print WR "<input type=submit value=\"前ページ\"></Td></form>\n"; } print WR "</table>\n"; # 削除フォーム if (!$whatsnew) { print WR "<table align=right><tr><td>\n"; print WR "<form action=\"$script\" method=\"POST\">\n"; print WR "記事No <input type=text name=no size=4>\n"; print WR "削除キー <input type=password name=pwd size=4>\n"; print WR "<input type=hidden name=mode value=userdel>\n"; print WR "<input type=submit value='記事削除'></td></form></table><br clear=all>\n"; } # 著作権を表示(削除不可) print WR "<div align=center style='font-size:10px;font-family:Verdana,Helvetica,Arial'><!-- $ver -->\n"; print WR "- <a href='http://www.kent-web.com/' target='_top'>SunBoard</a> -\n"; print WR "</div>\n</body>\n</html>\n"; close(WR); }

    • ベストアンサー
    • CGI
  • 掲示板に投稿編集機能付けたい

    jewel http://www.groo-web.com/jewel.html こちらの掲示板を独学でカスタマイズして使ってますが、 投稿編集機能が無いので、付けようと奮闘しています。 書き込み時にデフォルトで削除PASSを入力するようになっています。 それを利用して投稿編集機能を付けたいのですが、 ご教授願います。 以下がユーザーの記事削除処理の部分ですが、 elsif ($in{'action'} eq 'usr_kill') { &kill_action; }##←始めの部分 記事表示部分↓↓↓ <FORM method="$method" action="$cgifile"> <INPUT type="hidden" name="action" value="usr_kill"> <INPUT type="hidden" name="sex" value="$in{'sex'}"> <BR> <TABLE cellspacing="0" width="200" border="0"> <TR align="left"><TD nowrap colspan="3"><B>【記事削除フォーム】</B></TD></TR> <TR><td nowrap align="right">記事No/</TD> <TD><input size="4" type="text" name="number"></TD></TR> <TR><td nowrap align="right">パスワード/</TD> <TD nowrap><INPUT size="10" type="password" name="pass"> <INPUT type="submit" value="削除"></TD></TR> </TABLE></FORM> 下の方にあるルーチン↓↓↓ ###+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ## SUB >>> ユーザー記事削除処理 ###+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ sub kill_action { if ($in{'number'} eq "") { &error("記事Noを入力してください"); } elsif ($in{'number'} =~ /\D/) { &error("記事Noは半角数字で入力してください"); } elsif ($in{'pass'} eq "") { &error("パスワードを入力してください"); } &lock1; if ($in{'sex'} eq '0') { &mens_read("lock2"); } elsif ($in{'sex'} eq '1') { &ladys_read("lock2"); } #--パスワードを暗号化--# $crypted = crypt($in{'pass'}, "xx"); #--削除対象データが見つかるまでループ--# $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; #--削除に成功したら完了メッセージを表示--# &html_head; &title; print <<"HERE"; <CENTER><TABLE width="560"> <TR><TD bgcolor="$top_t_bgc"><CENTER> <FONT color="$top_t_color"><B>削除完了!</B></FONT> </CENTER></TD></TR></TABLE><BR><BR> <FORM method="post" action="$cgifile"> <TABLE cellspacing="0" cellpadding="5" border="1"> <TR><TD nowrap bgcolor="#ffffd9" align="center"> <B>記事No$in{'number'}を削除しました。</B><BR><BR> <INPUT type="submit" value=" TOP "></TD></TR> </TABLE></FORM> HERE &html_footer; exit; } exit; } これに以下を追加して作ることは可能なんでしょうか? elsif ($in{'action'} eq 'edit') { &edit; } または elsif ($in{'action'} eq 'edit2') { &edit2; } なんとかできるように教えて下さい。お願いします。

    • ベストアンサー
    • CGI
  • おかしなif文だと思うのですが、どう思われますか?

    $a=10; $b=20; if($a>=$b){ print "\$aは\$bと等しいかおおきいですよ。\n"; } elsif($a>$b){ print "\$aは\$bより大きいです。\n"; } elsif($a<$b){ print "\$aは\$bより小さいです。\n"; } ある例題のif文なんですが、 $a>=$bで$a>$bは内包されているはずなので elsifの例として不適切ですよね。 どう思われますか?

    • ベストアンサー
    • CGI
  • 表示を一覧表形式にしたいのですが組みかたを教えてください。

    検索データを一覧表で表示したく、いろいろやってみたのですができません。なぜできないのか、どこがいけないのかおしえていただきたいのですが・・・ 一応、一覧表で表示されていたスクリプトをお手本にやっていたのですが、知識がなさすぎてわかりません。よろしくおねがいします。 sub search { &header; print "<table border=1 cellspacing=1><tr>\n"; print "<th>情報提供者<th>ユーザ名<th>業務<th>顧客管理元<th>責任者<th>コメント</tr>\n"; # キーワード前準備 $in{'word'} =~ s/ / /g; @word = split(/\s+/, $in{'word'}); open(IN,"$logfile") || &error("Open Error : $logfile"); $i=0; while (<IN>) { ($no,$sub,$com,$p1,$p2,$p3,$p4) = split(/<>/); if ($in{'P1'} ne "99" && $in{'P1'} ne "$p1") { next; } if ($in{'P2'} ne "99" && $in{'P2'} ne "$p2") { next; } if ($in{'P3'} ne "99" && $in{'P3'} ne "$p3") { next; } if ($in{'P4'} ne "99" && $in{'P3'} ne "$p4") { next; } # キーワードマッチ $flag=1; foreach $key (@word) { if (index($_,$key) >= 0) { $flag=1; } else { $flag=0; last; } } if (!$flag) { next; } $i++; print "<td><b><a href=\"$script?mode=view&no=$no\">$sub</a></b></td>"; print "<td>$part1[$p1]</td><td>$part2[$p2]</td><td>$part3[$p3]</td><td>$part4[$p4]</td>"; print "<td><small>$com</small></td></tr>\n"; print "</table><P>\n"; } close(IN);

    • ベストアンサー
    • Perl
  • 掲示板に投稿編集機能付けたい

    質問の補足ができないので、新たに掲載します。 掲示板に投稿編集機能が無いので、付けようと奮闘しています。 書き込み時に削除PASSを入力するようになっています。 それを利用して投稿編集機能を付けたいです。 以下がユーザーの記事削除処理の部分ですが、 elsif ($in{'action'} eq 'usr_kill') { &kill_action; }##←始めの部分 記事表示部分↓↓↓ <FORM method="$method" action="$cgifile"> <INPUT type="hidden" name="action" value="usr_kill"> <INPUT type="hidden" name="sex" value="$in{'sex'}"> <BR> <TABLE cellspacing="0" width="200" border="0"> <TR align="left"><TD nowrap colspan="3"><B>【記事削除フォーム】</B></TD></TR> <TR><td nowrap align="right">記事No/</TD> <TD><input size="4" type="text" name="number"></TD></TR> <TR><td nowrap align="right">パスワード/</TD> <TD nowrap><INPUT size="10" type="password" name="pass"> <INPUT type="submit" value="削除"></TD></TR> </TABLE></FORM> 下の方にあるルーチン↓↓↓ ###+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ## SUB >>> ユーザー記事削除処理 ###+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ sub kill_action { if ($in{'number'} eq "") { &error("記事Noを入力してください"); } elsif ($in{'number'} =~ /\D/) { &error("記事Noは半角数字で入力してください"); } elsif ($in{'pass'} eq "") { &error("パスワードを入力してください"); } &lock1; if ($in{'sex'} eq '0') { &mens_read("lock2"); } elsif ($in{'sex'} eq '1') { &ladys_read("lock2"); } #--パスワードを暗号化--# $crypted = crypt($in{'pass'}, "xx"); #--削除対象データが見つかるまでループ--# $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; #--削除に成功したら完了メッセージを表示--# &html_head; &title; print <<"HERE"; <CENTER><TABLE width="560"> <TR><TD bgcolor="$top_t_bgc"><CENTER> <FONT color="$top_t_color"><B>削除完了!</B></FONT> </CENTER></TD></TR></TABLE><BR><BR> <FORM method="post" action="$cgifile"> <TABLE cellspacing="0" cellpadding="5" border="1"> <TR><TD nowrap bgcolor="#ffffd9" align="center"> <B>記事No$in{'number'}を削除しました。</B><BR><BR> <INPUT type="submit" value=" TOP "></TD></TR> </TABLE></FORM> HERE &html_footer; exit; } exit; } これに対しての回答が下記の一件ですが、 ↓↓↓ 削除と再登録が簡単に出来れば修正と同じことだと思いますので、 elsif ($in{'action'} eq 'edit') { &edit; } を追加したらeditの内容は kill_actionの削除処理を行った後に削除したデータを基にvalueやselectedを使って入力済みの状態にしたin_dataの処理を入れたらOKだと思います ~とのことですが、 プルダウンで選択させているところなどはどうすればいいのでしょう。 あらたにeditのルーチンを作ったとして、 どこからどこを追加して、何を記述してどうやって作れば良いか分かりません。 ズバッと回答して下さる勇者様はおりませんか?

    • ベストアンサー
    • CGI
  • cgiログデータ入力

    下記のようなものを作成しました。 if ($FORM{'WORD'} eq 'フォーム'){ &form; } elsif($FORM{'WORD'} eq '確認'){ &kakunin; } elsif($FORM{'WORD'} eq '入力'){ &nyuuryoku; } sub kakunin{ print "<FORM METHOD=POST ACTION=top_nyuuryoku1.cgi>\n"; print "<TABLE CLASS=TABLE2 CELLSPACING=0 CELLPADDING=2>\n"; print "<TR><TD WIDTH=80 CLASS=TD1>社員番号</TD><TD CLASS=TD2>$FORM{'BANGOU'}<INPUT TYPE=HIDDEN NAME=BANGOU VALUE=$FORM{'BANGOU'}></TD></TR>\n"; print "<TR><TD WIDTH=80 VALIGN=TOP CLASS=TD1>本文</TD><TD CLASS=TD2>$FORM{'NAKAMI'}</TD><INPUT TYPE=HIDDEN NAME=NAKAMI VALUE=$FORM{'NAKAMI'}></TR>\n"; print "</TABLE>\n"; print "<BR>と入力されました。これでよければボタンを押してください。<BR><BR>\n"; print "<INPUT TYPE=HIDDEN NAME=WORD VALUE=入力>\n"; print "  <INPUT TYPE=SUBMIT CLASS=BUTTON VALUE=入力>\n"; print "</FORM>\n"; } sub nyuuryoku{ print "入力しました。<BR>\n"; print "<A HREF='top.cgi'>戻る</A>\n"; open (FILE,">>top.log"); flock(FILE,2); @FILES = "$buffer\n"; print FILE @FILES; flock(FILE,8); close(FILE); } ※多少省略あり。 ※$bufferはこれの前のページから受け取ったもの。 kakuninのところの$FORM{'NAKAMI'}ではちゃんと半角スペースや改行が認識されていますが、nyuuryokuになるとだめです。 一体何が原因なのでしょうか?

    • ベストアンサー
    • CGI
  • perl初心者です。宜しくお願い致します。

    ファイルの容量が大きく。perlを使用してデータの集計をしています。 "A"がきたらflag1をたてなさい。 "B"がきたらflag2をたてなさい。 "C"がきたらflag3をたてなさい。 これでAとBとCを抜き取ること&AからCまでの時間を取得したのですが、 Bの数のmaxの値だけを抜き取りたいのですが、Bがきたときの数をすべて 出力してしまいます。下記の文だと、Bが4回きたら、1,2,3,4と出力してしまいます。 それで4だけを出力したいのですがどのように書き換えたらようか教えて頂けますでしょうか。 '----------------------------------------------------------------------------- open (IN,"< $ARGV[0].txt") or die; open (OUT,"> $ARGV[0]_out.txt") or die; $flag =0; my $a, $b, $c; $count = 0; ####################################################### while($line =<IN>){ ($time,$data) = split(/\s+/,$line); if($data eq "A") { $flag=1; $a = $time; #print OUT $line; #print OUT "\n"; } elsif($data eq "B"){ $flag=2; $count++; $count == $data; print OUT ("$count\n") } #print OUT ("$count\n"); elsif($data eq "C"){ $flag=0; $count=0; $b = $time; $c = $b - $a; print OUT ("time $c\n") } } -------------------------------------------------------------------------------

  • タグなんですが・・・・

    教えていただきたいのですが print "<a href=\"$script2\">トップ</a> >\n"; というタグがあって http://xxxx/にリンクさせたいとするとどういう風に書き換えればいいでしょうか? わかる方いましたら教えてください。

  • KENTさんの掲示板のワード検索について

    http://www.supra.cx/joyful2chMe/index.html こちらのjoyful2ch.cgiの1071行目からのワード検索で、 検索対象を親記事のみにしたいのですが、どうすればよいでしょうか。 ログの中の$reno=""が親記事のようなのですが・・ # ファイルを読み込み @new=(); open(IN,"$logfile") || &error("Open Error : $logfile"); $top = <IN>; while (<IN>) { $flag=0; foreach $pair (@pairs) { if (index($_,$pair) >= 0) { $flag=1; if ($in{'cond'} eq 'OR') { last; } } else { if ($in{'cond'} eq 'AND') { $flag=0; last; } } } if ($flag) { push(@new,$_); } } close(IN); ここの辺りを書き換えるのでしょうか。

    • 締切済み
    • CGI
  • SSIでの"?"の使い方

    ある検索エンジンCGIのログを流用してトップページにSSIで表示しようとしています。 検索エンジンはいくつかのジャンルに分かれています。トップページに表示する分もジャンルで分けたいと思います。また、保存されているデータの最新10件を表示したいと考えています。 そのため以下のようにやってみました。 ページには □ジャンル1 <!--#exec cmd="./list.cgi?pt=0" --> □ジャンル2 <!--#exec cmd="./list.cgi?pt=1" --> ~~ CGIは ---------------------- #!/usr/bin/perl $w_new = 10; require './jcode.pl'; print "□ジャンル1<BR>\n"; #この行はテスト用ダミーです。 open (FILE,"./cgi-bin/navi/A.bak"); $i=0; while (<FILE>) { $i++; local($no,$pt,$sub,$hp,$name,$email,$pw,$msg,$dt,$ts,$rec,$axs) = split(/<>/); if ($pt eq $in{'pt'}){ print "<A href=\"$hp\">□$sub</A><BR>\n"; if ($i >= $w_new) { last; } } } close(FILE); exit; ------------------------ $ptがジャンル、$subが表示名、$hpがアドレスです。 こうすると何も表示しません。 また、 <!--#exec cmd="./list.cgi" --> というかんじで"?"を抜くとダミー用文「"□ジャンル1」が表示されます。(SSIが表示できないわけではないと言う確認) SSIのときは"?"は使用できないのでしょうか? また、スクリプトはこれであっているのでしょうか?(合ってないから表示しないわけで…(T.T))

    • ベストアンサー
    • CGI

専門家に質問してみよう