最近知り合いの掲示板を作りました。
99年に「株式会社ディーアート」というところから発売された「自分でオリジナル掲示板を作ろう!」という本に付録されていたCD-ROMの中に入っていたcgiプログラムを使って作りました。

tree.htmlを使って返信出来るような、そして掲示板のtop.htmlにすべての入力項目が載るようにしたのですが、一番上(最新の)に載ってるものだけしかコメントが表示されなくなってしまいました・・・。

ちなみに↓がその掲示板のアドレスです。
http://www.kinet.or.jp/seseragi/cgi/board.cgi

誰かご存知でしたらなぜコメントが表示さえないのか教えてください!
お願いします!

このQ&Aに関連する最新のQ&A

A 回答 (1件)

CGIスクリプト自体に問題があるように思えるのですが、どうしてもそのCGIスクリプトを使わなくてはいけないのではないなら、他の掲示板CGIを探してみてはいかがでしょうか。


おそらく、CGIの中身を見なくては問題点が解明できないような気がします。

参考URL:http://www.i-say.net/cgi/
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Q掲示板でのhtmlとcgiの関係について

お世話になります。

webサーバで公開している「public_html」ディレクトリ内のindex.htmlファイルに書き込むことで、ブラウザからホームページを閲覧出来ます。また、掲示板のような動的なものはcgiで動かしていることは理解出来ていますが、cgiを動かすというのは公開するindex.htmlファイル内にcgiのリンク先を記述してやって動かしているという意味でしょうか?

よろしくお願いします。

Aベストアンサー

よくわかりませんが、、、


a.html
b.html

という2つのファイルがあるとすると、
訪問者が「a.htmlを見たい」というリクエストをすると、a.htmlが表示されます。
「b.htmlを見たい」というリクエストをすると、b.htmlが表示されます。

同様に、
bbs.cgiというファイルがあるとすると、
「bbs.cgiを見たい」というリクエストをすると、bbs.cgiが表示されます。

QBBS掲示板でのhtmlとcgiの関係について

悩んでいます。

webサーバで公開している「public_html」ディレクトリ内のindex.htmlファイルに書き込むことで、ブラウザからホームページを閲覧出来ます。また、掲示板のような動的なものはcgiで動かしていることは理解出来ていますが、cgiを動かすというのは公開するindex.htmlファイル内にcgiのリンク先を記述してやって動かしているという意味でしょうか?

詳しい方、レクチャーお願いします。

Aベストアンサー

> 「cgiを動かすというのは公開するindex.htmlファイル内にcgiのリンク先を記述してやって動かしているという意味でしょうか?」
用語の使われ方が混乱していてご質問内容が自動英文翻訳のように支離滅裂になっていますので、わたくしだけかもしれませんが回答が困難です。
それぞれの役割や機能が整理されていないようですのでご存知であることを承知で説明します。
ただし、ここでは画像やマルチメディアデータについてはややこしくなるので割愛してHTMLデータに主眼を置いて説明いたします。

Webブラウザ
 HTMLで記述されたテキストデータをHTMLタグ情報を元に加工成型して表示する、ローカルPC上で動作するソフト
 ※ ホームページと、そのソースを見比べてください。
 ※ サーバ機でも動作はしますが、ローカル機とサーバ機を区別して考えてください。

Webサーバ
 ◎ ネットワーク経由でWebブラウザによって要求されたデータを返信する、サーバマシン上で動作しているサーバサービスプログラム
 要求されたものがHTMLファイルならそのファイルを読み込んで内容をそのまま返信する
 ◎ CGIファイルならその指定されたファイル内に記述されたプログラムをそのサーバマシン上で実行して、その実行結果を返信する。

CGI用の掲示板プログラム
 ◎ プログラム実行時に、掲示板の表示フォーマットにしたがってHTMLを成型し出力するプログラム


「◎」の部分に注目すれば「BBS掲示板でのhtmlとcgiの関係について」に関して理解しやすいかと思います。

> 「cgiを動かすというのは公開するindex.htmlファイル内にcgiのリンク先を記述してやって動かしているという意味でしょうか?」
用語の使われ方が混乱していてご質問内容が自動英文翻訳のように支離滅裂になっていますので、わたくしだけかもしれませんが回答が困難です。
それぞれの役割や機能が整理されていないようですのでご存知であることを承知で説明します。
ただし、ここでは画像やマルチメディアデータについてはややこしくなるので割愛してHTMLデータに主眼を置いて説明いたします。

Webブラウザ
 HT...続きを読む

Qperl/CGIでの自作掲示板のJcode設定??

まだまだperlいじって3,4日の者です。
10日でおぼえる~シリーズの本を買って、現在掲示板を自作しているのですが、
ローカルにApache入れてActivePerlで作ってて、殆ど動作しますし、普通に書き込み
出来るのですが、フォームの文字は普通に出力?されているのですが、
フォームの送信ボタンを押して、下に書きこまれると文字化けして全く読めません…
参考書ではShift_JISで説明が行われていましたが、その通りやってもさっぱり表示が化けて
ネットで色々調べても流石にと言いますかそんな初歩的な事をなかなか見つけられず
困っております。
記述としては


#! c:/perl/bin/perl ↓最初の方で指定して

require "jcode.pl";


#=========================== ユーザー設定 ====
$CHARSET = 'Shift_JIS'; # 文字コード
$DATAFILE = './board.dat'; # 記事ファイル
$PAGEVIEW = 5; # ページ記事数
$MAXLINE = 100; # 最大記事数


#======================= メインプログラム ====
loadFormdata();

# 記事データの読み込み
open(FILE, "<$DATAFILE")
or printErrorPage("記事ファイルが開けません。");
eval{ flock(FILE, 1) };
@DATA = <FILE>;
close(FILE);

if($FORM{'mode'} eq 'write') {
writeArticle(); # 書き込みモード

# 記事データの書き込み
open(FILE, ">$DATAFILE")
or printErrorPage("記事ファイルが開けません。");
eval{ flock(FILE, 2) };
print FILE @DATA;
close(FILE);
}
printPage();
exit;


#========================== 記事ページ出力 ====
sub printPage
{
my $begin = $FORM{'page'} * $PAGEVIEW;
my $end = $begin + $PAGEVIEW;

if($end > @DATA) {
$end = @DATA;
}              埋め込みHTMLは、代入?して ↓   
print <<END;
Content-type: application/xhtml+xml; charset=$CHARSET

<?xml version="1.0" encoding="$CHARSET"?>   ←一応ここも
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head><title>掲示板</title></head>
<body>

 :
:一部割愛


# 記事の出力
my ($i, $nextpage, $nextlink);

for($i = $begin ; $i < $end ; ++$i) {
my ($data, $title, $author, $email, $text)
= split(/\t/, $DATA[$i]);
print "<h2>$title</h2>\n";
if($email) {
print "<strong>";
print "<a href=\"mailto:$email\">$author</a>";
print "</strong>";
}
else {
print "<strong>$author</strong>";
}
print " [ $date ] ";
print "<p>$text</p>";
print "<hr />\n";
}

# 次ページへのリンク
if($end < @DATA) {
$nextpage = $FORM{'page'} + 1;
$nextlink = "$ENV{'SCRIPT_NAME'}?page=$nextpage";
print "<p><a href=\"$nextlink\">NEXT PAGE</a></p>\n";
}

print <<END;
</body>
</html>
END
}

                :
                : 一部割愛
                :

#=============== フォームデータ取り込み =====
sub loadFormdata                   ←取り込み全文     
{                                 ↓
my ($query, $pair);

if($ENV{'REQUEST_METHOD'} eq 'POST') {
read(STDIN, $query, $ENV{'CONTENT_LENGTH'});
}
else {
$query = $ENV{'QUERY_STRING'};
}

foreach $pair (split(/&/, $query)) {
my ($key, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([0-9a-fA-F] [0-9a-fA-F])/chr(hex($1))/eg;

$value = jcode::sjis($value); ←出来ればeucに直したい(基本サイトをeuc-jpで作成)
$value =~ s/&/&amp;/g;      直す以前に化けてますが…
$value =~ s/</&lt;/g;              この最後で指定をしてます。
$value =~ s/>/&gt;/g;
$value =~ s/\x0D\x0A/<br>/g;
$value =~ tr/\t/ /;

$FORM{$key} = $value;
}
}
cgiの一番最後の方に書いてあるのですがこの本にはこれしか書いて無くて、
他のサイト様だと何だか全く違う表現が一般的?jcode::convert(\$value,'euc');
これでもさっぱりダメでした…
ちなみにブラウザもしっかりとHTMLに指定しているeuc-jpで表示しております。
あと既に送信してから仮保存ディレクトリの中のだんかいで既に文字化けしております。
このプランしか知らないものでどこをどういじれば良いのかがさっぱりわかりません…
使用エディタはTeraPadで、euc-jp書き出し、保存に設定しています。
良い解決策が有ればよろしくお願い致します

まだまだperlいじって3,4日の者です。
10日でおぼえる~シリーズの本を買って、現在掲示板を自作しているのですが、
ローカルにApache入れてActivePerlで作ってて、殆ど動作しますし、普通に書き込み
出来るのですが、フォームの文字は普通に出力?されているのですが、
フォームの送信ボタンを押して、下に書きこまれると文字化けして全く読めません…
参考書ではShift_JISで説明が行われていましたが、その通りやってもさっぱり表示が化けて
ネットで色々調べても流石にと言いますかそんな初...続きを読む

Aベストアンサー

No.1のkmeeさんが言及されてますように、コードの例がちょっと古いですね。

use strict;
use warnings;

のないコードはまず古いですね。レキシカル変数を使ってスコープを限定しないコードも古いです。リファレンスで済むところを型グロブを使うコードも古いです。

私の所有している本は以下です。

CGIプログラミング
http://www.amazon.co.jp/dp/4873110440

これも古いのですが、まだ通用する本でお薦めです。
ただ、少し難しいかもしれません。

初心者用の良い書籍を紹介できないのが残念ですが、

サンプルコードによるPerl入門
http://d.hatena.ne.jp/perlcodesample/

の木本さんが書かれた

かんたんプログラミング CGI/Perl
http://www.amazon.co.jp/dp/4774139289

なら幾分ましかもしれません。
Perlについてなら定評のある結城浩さんの本がいいのではないでしょうか。

新版Perl言語プログラミングレッスン入門編
http://www.amazon.co.jp/dp/4797336803

上記2点の本は拝見したことがないので、はっきりと推薦はできませんが、お持ちの書籍よりはましかと思われます。

以下のオライリーの本は評価が高いです。かなりやる気があるのならこれがお薦めですが、ご自分で中身を確認されてからご検討ください。

初めてのPerl 第5版
http://www.amazon.co.jp/dp/4873114276

書籍を選ぶ最低限のポイントとしてサンプルコードに

use strict;

の記述があるのをお選びください。

余談はこれぐらいにして(Perlカテゴリで似たような質問があったため御託を並べてしまいました)、質問への回答をしたいと思います。
以下2点、ご確認お願いします。

まず、この↓行を削除(コメントアウト)したらどうなりますでしょうか?

$value = jcode::sjis($value); ←出来ればeucに直したい(基本サイトをeuc-jpで作成)

次に、

loadFormdata();

を、

use CGI;
%FORM = CGI->new->Vars;

にしたらどうなりますでしょうか?

No.1のkmeeさんが言及されてますように、コードの例がちょっと古いですね。

use strict;
use warnings;

のないコードはまず古いですね。レキシカル変数を使ってスコープを限定しないコードも古いです。リファレンスで済むところを型グロブを使うコードも古いです。

私の所有している本は以下です。

CGIプログラミング
http://www.amazon.co.jp/dp/4873110440

これも古いのですが、まだ通用する本でお薦めです。
ただ、少し難しいかもしれません。

初心者用の良い書籍を紹介できないのが残念ですが、

サンプ...続きを読む

Q一行掲示板を改行が入る掲示板に改造

どうかお力をお貸しください。

「PetitMsg」を利用させて頂いております。
http://202.248.69.143/~goma/pl/petitmsg.html
こちらは一行掲示板という形なのですが、これを改行の出来る掲示板に改造するアドバイスをお願い致します。

あるいは、埋め込みが可能で、改行を入れることのできる掲示板を知っておられる方がいらっしゃいましたら、ご紹介下さいますようお願い申し上げます。
(WEB素材配布室様 http://web-sozai.seesaa.net/ の埋め込み式掲示板は、何度も設置したのですが、どうしても文字化けや書き込みが反映されなかったりしたので、それ以外でお願い致します)
 
 どうかよろしくお願い致します。

Aベストアンサー

本文をinputからtextareaに変更、あとは改行コードを<br>に置換してあげればよいかと思います。
この説明で分からなければあきらめた方がよいかと。

Q掲示板さがしてます(質問掲示板)

とほほにある質問掲示板のようなもの、をさがしています。
http://tohoho.wakusei.ne.jp/wwwsoft.htm
とほほいがいで、その類に掲示板を無料でダウンロードできる
サイトを知っていましたら、おしえてください。

Aベストアンサー

またまたhide1978です。さっき追加書き込みしたばかりなのにね・・・すみません。

ずーっと探してたら「TwnLounge Faith edition」というスクリプトを見つけました。これは「とほほさんの質問掲示板を改造したもの」だそうです。かなりカッコイイ感じに仕上がっていますので、ぜひ参考URLを参照してください。これはオススメできます!(^^)

参考URL:http://www.iris.dti.ne.jp/~fuse/cgi/


このカテゴリの人気Q&Aランキング

おすすめ情報