• ベストアンサー

チャット参加者をTOPページにリアルタイムに表示する方法

はじめまして zetoraと申します。どうぞよろしくお願い 致します。 質問の内容は チャット参加者をTOPページにリアルタ イムに表示する方法が知りたいのですが どうすれば表示 できるのでしょうか? ■使用しているチャットcgi Lachat Pro(Inside Web) (http://www.inside.ne.jp/cgi/lachat/pro/) 検索エンジンでいろいろと調べたのですが 分かりません 一番内容に近かったと思う質問掲示板が 見つかったので すが 内容が上手く理解できないので。。。下記がその質 問掲示板のアドレスです。 http://tohoho.wakusei.ne.jp/lng/199912/99120343.htm HPではCGI/SSI使用できる環境です SSIの設置もあまり 理解できてないのですが。。。 また上記の方法以外にも 表示方法 お勧めのプログラム 等ありましたら 教えていただけると幸いです どうぞよ ろしくお願い致します。

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

  • ベストアンサー
  • the845s
  • ベストアンサー率34% (61/176)
回答No.6

ローカルでコピペして試すといくつかエラーがありました。 今記述してあるものがコピペしたものであると、以下に訂正してみて下さい。 #!/usr/bin/perl print "Content-type: text/html\n\n"; open(IN, "user.txt"); @members = <IN>; close(IN); print "参加者: "; $num = @members; if ($num > 0) { foreach (@members) { ($m, $h, $n) =split(/\t/, $_); print "<font size=2>$n</font> "; } } else { print "なし\n"; } print "Content-type: text/html\n\n"; で、最後の「"」で閉じていないのと、 最後の行の「}」が不要です。

zetora
質問者

お礼

どうもありがとうございました。1つ記号が抜け落ちて るだけで動作しないんですね 勉強になりました。 HP上で試した結果 ちゃんと動作してくれました。 また機会ありましたら よろしくお願いします。

すると、全ての回答が全文表示されます。

その他の回答 (5)

  • Teenage
  • ベストアンサー率24% (67/278)
回答No.5

修正方法は下で在るみたいなので特に触れませんが、 CGIをアップしたらまずはそのCGIにアクセスしてみてください その状態でエラーが出てる場合があります http://www.ibport.co.jp/~yui/cgiwork/debug/ ここにあるdebug.cgi(ページのまん中辺り)を使って調べてください 何かミスをしてる場合があります ('を消しちゃったり\がなかったり)

参考URL:
http://www.ibport.co.jp/~yui/cgiwork/debug/
zetora
質問者

お礼

試してみましたが どこが違うのかが分からないです^^; print "Content-type: text/html\n\n の前に BEGIN{#ここから $|=1;# ゆい'デバッグ情報サービス open(STDERR,"&STDOUT"); print "Content-type: text/plain\n\n"; }#ここまで と書き込んだら 白紙のページで表示されたのですが print "Content-type: text/html\n\n の後に記述したらサーバーエラーとなりました という事はprint "Content-type: text/html\n\nの 記述が悪いのでしょうか?

すると、全ての回答が全文表示されます。
  • the845s
  • ベストアンサー率34% (61/176)
回答No.4

っと、 requireの部分も修正してください。 require '.setup.cgi'; ではなく require './setup.cgi'; まぁ、この行自体消しても問題無いようですが。

zetora
質問者

お礼

the845s様ありがとうございます。 #!/usr/bin/perl print "Content-type: text/html\n\n; open(IN, "user.txt"); @members = <IN>; close(IN); print "参加者: "; $num = @members; if ($num > 0) { foreach (@members) { ($m, $h, $n) =split(/\t/, $_); print "<font size=2>$n</font> "; } } else { print "なし\n"; } } require './setup.cgi';を付けても実行できませんでした require '.setup.cgi';を消し <!--#exec cgi="chat/sanka.cgi"-->で表示しようとした のですが やはり表示されませんでした どこが間違って いるんでしょうか^^; 同じデレクトリのcgiは正常 に動いてますし 他のSSIもちゃんとできてるのですが 他に原因ありそうな箇所はありませんか? パーミッション設定も何度も確認していますし、属性755  アスキー転送で行っています よろしくお願いします。

すると、全ての回答が全文表示されます。
  • the845s
  • ベストアンサー率34% (61/176)
回答No.3

<!--#exec cgi="~"-->では?

すると、全ての回答が全文表示されます。
  • Teenage
  • ベストアンサー率24% (67/278)
回答No.2

質問にあるアドレスのCGIでいいんじゃないでしょうか 修正しろと言うところをいじって使えるかと思います

zetora
質問者

お礼

そのCGIの内容が理解できないので 教えていただき たいんです まだプログラム自体はいじれないもので。 試した内容を記述しときます。 sanka.cgiと名前付けてアスキー転送しました。 属性は755です。 他のcgiは755で動作します。 以下はsanka.cgiの内容です。 #!/usr/bin/perl require '.setup.cgi'; print "Content-type: text/html\n\n; open(IN, "user.txt"); @members = <IN>; close(IN); print "参加者: "; $num = @members; if ($num > 0) { foreach (@members) { ($m, $h, $n) =split(/\t/, $_); print "<font size=2>$n</font> "; } } else { print "なし\n"; } } TOPページに<!--#include virtual="chat/sanka.cgi"--> と表示しましたが[an error occurred while processing this directive] というエラーが出てしまいます。

すると、全ての回答が全文表示されます。
  • Teenage
  • ベストアンサー率24% (67/278)
回答No.1

やり方としては、 参加者表示のみを行うCGIを設置して、 SSIでトップページに表示させるという方法になります

zetora
質問者

お礼

アドバイスありがとうございます。 その仕組み事態は理解できてるのですが、そのCGI が分からないんです^^; プログラムがあれば設置 はできるんですが そのCGIを探しています。

すると、全ての回答が全文表示されます。

関連するQ&A