• ベストアンサー

チャット参加者を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の設置もあまり 理解できてないのですが。。。 また上記の方法以外にも 表示方法 お勧めのプログラム 等ありましたら 教えていただけると幸いです どうぞよ ろしくお願い致します。

  • CGI
  • 回答数6
  • ありがとう数5

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

  • ベストアンサー
  • 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

  • チャットの参加者数 非表示の方法

    Kent Webさんの Web Talk というチャットのフリーソフトを使用しています。 参考URL http://www.kent-web.com/chat/wtalk.html 入室前の名前を入力する画面に「現在の参加者数」、入室後の下フレームに「参加者(0):○○」と表示されます。 メンバーだけが利用するシークレットチャットにしたいので、上記2箇所の参加者数や名前を非表示にしたいと思いますが、cgi内のどの部分を修正または削除すると良いでしょうか?

    • ベストアンサー
    • CGI
  • SSIのようにして、CGIをページ内に表示させる

     通常のHTMLページにCGIを読み込むにはSSIなどの方法がありますが、  SSIを使っているページは左、中央、右といったように分かれていて、呼び出した日記を中央に表示させるとします。これだとトップページはSSIで問題なく表示出来ますが、その表示された日記にあるリンク(先月の日記、とか)をクリックして先月のページを表示させると、SSIの仕組みからして当然、最初に読み込んだ際のレイアウトは無視され、左、右のカラムは消えて、ただの日記だけのページになってしまいます。  iframeなど、別の表示方法もありますが、iframeなどのフレームはSEOの観点から避けたいと思っています。  SSIでは無理だとすると、このようなリンク先まで最初の読み込みレイアウトを維持して表示する方法はあるでしょうか。

    • ベストアンサー
    • HTML
  • CGI掲示板の内容を一覧で表示させる方法

    CGIの掲示板を使ってるのですが、 その内容を、トップページで簡易的に表示させる 方法がわかりません。。。 新着書き込みなどがあると、タイトルや内容が自動的に更新表示してくれるようなものです。 例えば、PHPで作ってあるページなどは そういったことができるみたい (この教えて!gooのトップみたいなページや、 ブログなどの新着のようなものです。RSSというので しょうか?) なのですが、 MYSQLとかよくわからないので、PHPは自信がありません。 一般的にどうやってるのか、仕組みを教えてほしいです。 JavaScriptやSSIでできるものなのでしょうか? 誰か教えてください。 手探りなので、質問があいまいで本当に申し訳ありません。。。

    • ベストアンサー
    • CGI
  • ssiでlogの表示方法

    CGIのlog(カウント数)をSSIで表示させたいのですがどのように改造したら良いのかわかりません。 追記のような感じでCGIを製作したいのですが、logの内容が違うのでどのように対処したら良いのかわかりません。 呼び出したいlogの内容(カウント数)は下記のようになっています。 document.write('**'); ※ **は数字 下記のcgi【例】を応用したCGIでカウント数だけを呼び出しす事は可能でしょうか?とても困っているので良きアドバイスをお願い致します。 【例】 [カウントを呼び出すCGI]下記はSSIでカウント数を呼び出すCGI /usr/local/bin/perl #読み込み。 print "Content-type: text/html\n\n"; open(IN,"./js/data-su.js"); while(<IN>) {if(/DataSu='([^']*)/){print $1;last;} } close(IN); __END__ [log(A)]下記はファイル内の内容 DataSu='**'; ※ **は数字

    • ベストアンサー
    • CGI
  • IEでCGI、SSIのページにキャッシュがかかってしまうのですが・・・。

    タイトルのとうりです。 IEでCGIやSSIのページにキャッシュがかかってしまっているようです。 具体的な症状は以下のとうりです。 1.ブラウザの最新をしてもアクセスカウンターがまったくあがらない。 2.掲示板、チャットに書き込みをしても以前のページのままで書き込んだものが表示されない。 以上です。 そのCGI、SSIのスクリプトはPERLです。 その症状がでるのは自分のパソコンだけで、他の人のパソコンでは、こちらの書き込んだメッセージや、アクセスカウンターなどは正常に表示されているようです。 一度、TemporaryInternetFilesを消してみたところ一回目の表示はうまくでたものの次からはまたキャッシュがかかってしまって以前のページの内容しか表示されません。 ほんとに困っています。 どなたか助けてください。 宜しくお願いします。

  • 掲示板の書き込み氏名を別のページに表示させる方法

    いつもお世話になっております。 CGIかJavascriptのどちらかわからなかったのでここで質問させてください。 掲示板へ書き込みがあると、書き込んだ日付やnewなどのマークを別ページに表示する方法がCGIでもあるのですが、書き込んだ方の氏名を表示させる方法を探しています。 宜しくお願いします。

    • 締切済み
    • CGI
  • Yahooチャットで顔文字動画の表示方法を教えて下さい

     Yahooメッセンジャーを使用して、チャットをしているのですが、動くかわいい動物等の画像をどうやって画面に表示するのか教えて下さい。  gifの貼り付け方法をHPで検索してみたのですが、タグを使って、<Img Src="http://www.○○○.gif">等を入力しても、タグの内容がそのまま表示されてしまいます。このタグの表示方法が書いてあったHPにはチャットの種類によって、タグがそのまま表示されてしまう場合があると書かれていましたが、実際動画を貼り付けて表示している人を目撃したので、yahooチャットでは対応しているはずなのですが・・・。

  • 掲示板について・・・

    キャベツのインターネットを利用しているのですが、 当社CGI専用サーバーによる、カウンター、チャット、掲示板機能がご利用頂けます。 お客様で製作したCGI、Perl、SSIスクリプトは、当社では利用することができません。 と書いてあります。初心者なので良くわかりません。 キャベツが指定しているサーバーの掲示板しか使えないという事でしょうか? パスワード制の掲示板を使いたいのですが・・・。 どなたか教えて下さい。

    • ベストアンサー
    • CGI
  • 指定したページのオンライン中のユーザー数を表示するCGI

    今、チャットのオンライン数を表示するCGIを探しております。自力で探したのではチャットのあるページには表示できたのですが、TOPページにはオンライン数ユーザー数は表示できず、TOPページの閲覧者数しか見ることができません。 CGIの知識もないので、そういったプログラムを配布しているサイトさんを教えて下さい。 よろしくお願い致します。

    • 締切済み
    • CGI
  • CGIでCGIを呼び出す方法

    いつもお世話になっています。 今掲示板のCGI(a.cgi)上に広告をランダムで表示するCGI(b.cgi)を記述しているのですがどうにも正しく表示されず困ってます… 他のCGIを呼び出すにはどのように記述すればいいのでしょうか? (htmlでいうとSSIで呼び出すように…)

    • ベストアンサー
    • CGI

専門家に質問してみよう