CGI-BBS > CGI > Perl > SSIを使って参加者表示


カレッヂ
カレッヂ


質問者 トラ  投稿日 2/9(土) 00:11:25
チャットスクリプトの参加者数と参加者のハンドル名を、
SSIを使ってトップのHTMLに表示させたいのですが、
なにぶんSSI自体扱うのは初めてでして、少し苦戦しています。

実際、なんとか取り付けに成功し、トップにそのスクリプト自体は
表示されるのですが、チャットに参加しているはずの参加者と人数が表示されません。
チャット内の参加者を表示するデータファイルは本体のものと共有しているのですが、
SSIを使って呼び出した方だけ、そのデータファイルを読み取らないようです。
少し分かり難い質問だと思いますが、ヒントのようなものを頂けたら大変ありがたいのですが。。

回答者 みみみ  [削除]  投稿日 2/12(火) 08:34:36
>実際、なんとか取り付けに成功し、トップにそのスクリプト自体は
>表示されるのですが、チャットに参加しているはずの参加者と人数が表示されません。

スクリプト自体が表示されていると言うのは、HTMLのソースの中にSSIの記述がそのまま
表示されていると言うことでしょうか。もしそうならばSSIが動いていませんね。

一度そのHTMLの拡張子を「*.shtml」に変更すれば上手くいくかもしれません。

質問者 トラ  [削除]  投稿日 2/12(火) 09:36:18
説明がおかしかったようですね。ゴメンナサイ。
トップページには、もう参加者数と名前が表示できる状態なんです。
チャットルームに入室すると、チャットルームのなかの人数と名前は、
正確な人数と名前を表示してくれるのですが、トップページ(SHTML)に呼び出した
「参加者表示」のCGIは人数がゼロのままで、もちろん名前も表示されません。
この「参加者表示」のCGIがトップページに表示された時点で、
SHTMLが作動していると思うのですが、チャットルームのデータファイルをうまく読みとってくれないようなのです。
回答者 まさ  [削除]  投稿日 2/12(火) 18:25:46
パスの問題ではないですか?

CGIで動作させる場合はそのCGIからファイルまでのパスを記述しますが、SSIで
動作させる場合はSSIを記述したHTMLからのパスになります。

たとえばCGI動作だと
require 'jcode.pl';
と書きますが、これはSSIでは動作しません。

SSIは
require './cgi-bin/jcode.pl';
と書きます。

これは例ですけどね

邪魔臭ければ、絶対パスにすることです。
わたしはこれが問題でファイルのオープンに失敗しているだけだと思いますけど。

返信(回答)する


Web裏技