会員専用の掲示板を制作しているのですが、掲示板に書きこみがうまくいかないです。ソースを見ていただきたいのですが、長いので質問枠に書けないのです。何処が原因になりそうな箇所を教えて頂けないでしょうか?プログラムはCGIです。宜しくお願いいたします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2003/07/22 19:35:17
  • 終了:--

回答(9件)

id:z500 No.1

れいてんさん回答回数72ベストアンサー獲得回数02003/07/15 19:46:05

ポイント10pt

エラーの内容を、提示していただきたいです。

プログラム自体のエラーか、

ログを記録するファイルのパーミッションが違うのかと思います。

マニュアルをすべて確認して、もう一度新しく設置してみてください。

id:A6M2 No.2

A6M2回答回数119ベストアンサー獲得回数02003/07/15 19:47:07

ポイント20pt

http://www.dion.ne.jp/support/hp/infocgi/case2/dxbbs/

DX掲示板CGI|au one net 会員サポート

「正常に書き込み/表示ができません」より

テンプレートファイルのカスタマイズをした際に、必要項目を消去していませんか?テンプレートファイルのカスタマイズにより、必要項目を消去してしまったり、正常な値が入力されておりませんと、正しく表示/書き込みができない場合があります。どうしても正しく動作しない場合には、CGI設定ウィザードを再度実行し、テンプレートファイルを初期の状態に戻します。

id:sasada No.3

sasada回答回数1482ベストアンサー獲得回数1332003/07/15 19:59:37

ポイント25pt

 こういうケースでは、その掲示板のURLを示していただけるとありがたいです。

 あと、Webのエラーログの内容と。(後ろの10行ぐらい)

 書き込めないというのが、純粋データファイルにwrite出来ないと言う意味なら、

 ・データファイルのパス指定を書き間違えていないか

 ・データファイルの書込み属性が禁止になっていないか

 ・データファイルのあるディレクトリの読み込み属性が禁止になっていないか

をチェックして下さい。

 CGIが実行できないのなら、

 ・CGIの実行属性が禁止になっていないか

 ・CGIのあるディレクトリの読み込み属性が禁止になっていないか

をチェックして下さい。

 表示されるけど文字化けするなら、日本語SH利の問題です。

 表示結果のHTMLソースで判断できるかもしれません。

 CGIの実行時エラーなら、エラーログが必要ですね。

# 私は、今からパソコンの前を離れなければなりません。

# ケアできなくて ごめんなさい。 m(_ _)m

id:miller31

すみません。ありがとうございます。

2003/07/16 09:29:43
id:yoyan No.4

yoyan回答回数178ベストアンサー獲得回数02003/07/15 22:13:25

ポイント10pt

パーミッションが違うとか

Perlのパスを書き換えてないとか

バイナリーモードで送ってしまったとか

いろいろありますよ。

まずカンタンなcgiを設置できるかやってみて

それから掲示板を設置してみるといいでしょう。

id:follower No.5

follower回答回数18ベストアンサー獲得回数02003/07/15 22:16:22

ポイント10pt

パーミッションの問題ではないでしょうか?

またはcgi(perlだと思いますが)の中身を変更した時

気が付かないうちに余計な部分まで触ってしまったのでは?

id:mady No.6

mady回答回数86ベストアンサー獲得回数02003/07/16 00:36:02

ポイント10pt

CGIというのはシステムの総称で言語ではありません。

ですが、おそらくperlのことなのだと思います。

単純なファイルの書き込みはできるのでしょうか?もしかしたらプルグラムに問題があるわけではなくパーミッションが悪いのかも。

そうでなければ、会員かどうか確認する箇所で認証に失敗しているとか?

なんにせよ普通に書いたら、送信された情報をファイルに書き込むというだけであれば、エラーは生じにくいのではと思います。

id:nbtv No.7

nbtv回答回数3ベストアンサー獲得回数02003/07/16 08:34:19

ポイント30pt

はてなメールが届きましたが、ソースやCGIの在処がございませんでしたが、今、制作中の掲示板のアドレスをお教えいただけませんでしょうか? 私にご協力できることでしたら、ご助言できると思います。

id:miller31

ありがとうございます。

#書き込みか閲覧か。書き込みの場合、データファイルに$maxMessageの件数分だけ保存する

if($FORM{”btn”} eq ”SUBMIT” && $FORM{”message”} ne undef){

unshift @idList, $FORM{”id”};

unshift @subjectList, $FORM{”subject”};

$FORM{”message”} =~ s/¥n/

/g;

unshift @messageList, $FORM{”message”};

open (OUT,”>$dataFile”);

flock (”$dataFile”,2);

for($i=0; $i<=$maxMessages; $i++) {

print OUT ”$idList[$i]¥n”;

print OUT ”$subjectList[$i]¥n”;

print OUT ”$messageList[$i]¥n”;

}

close (IN);

flock (”$dataFile”,8);

}

#フォームの読み込み部分

if ($ENV{’REQUEST_METHOD’} eq ”post”) {

read(STDIN, $query_string, $ENV{’CONTENT_LENGTH’});

}

@a = split(/&/, $query_string);

foreach $x (@a) {

($name, $value) = split(/=/, $x);

$value =~ tr/+/ /;

$value =~ s/%([0-9a-fA-F][0-9a-fA-F])/pack(”C”, hex($1))/eg;

$value =~ s/,/¥,/g;

$value =~ s/@/¥@/g;

$FORM{$name} = $value;

}

2003/07/16 10:11:23
id:sasada No.8

sasada回答回数1482ベストアンサー獲得回数1332003/07/16 14:06:48

ポイント30pt

 1日ぶりのsasadaです。

 昨日は失礼しました。

>for($i=0; $i<=$maxMessages; $i++) {

 $maxMessagesが未定義です。

 (掲載外の部分で定義? $maxMessage[s抜き]が定義されていたり)

 未定義だと、forループが回らないので、OUTされません。

>close (IN);

 INハンドルが未定義です。

 ロック解除の前に close (OUT) がないので、perlのバージョンが古いと、OUTバッファの内容が書き出されません。

 後半部分は、う〜ん。。。

 この後、HTMLの表示ルーティンがあるんですよね。

# 2回目の回答なので、私はこれで打ち止めです。

# 上手く解決すると良いですね。

id:tokeru No.9

tokeru回答回数21ベストアンサー獲得回数02003/07/23 13:38:15

ポイント5pt

http://www.tokeru.or.nu/

www.tokeru.or.nu

パーミッションがちがますね。もう一度見てみては?

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません