• 締切済み

CGIの処理結果をHTML内に表示したい!

はじめまして。 CGI初心者です。 現在、とあるフリーのアンケートのCGI(perl)を改良していて、それは、アンケートに答えて、送信ボタンを押すと、CGIファイルの処理結果として、これまでのアンケートの集計結果がグラフで表示されるというものです。 その集計結果のみを、別ページ(左側や上部にメニューがあるもの)のHTML内に収めたいのです。 ※新しいウィンドウが開かなくてもOKです。 ※その別ページというのが私のオリジナルのページになります。 イメージとしては、 1)anket.html(アンケートに答える)  ↓ 2)anket.cgi(返答内容とこれまでの集計を処理)  ↓ 3)anket.html(集計結果が埋め込まれたHTMLファイルが表示される) 初心者なので、用語の使い方等間違っていましたらすいません。。 よろしくお願いします!

みんなの回答

  • chupark
  • ベストアンサー率41% (90/218)
回答No.2

検討はずれな回答になるかと思いますが… #1の方がおっしゃっているとおり、CGIでやろうとするとなかなか困難だと思いますが、PHPという言語を使えば、HTML内にプログラムを埋め込むことができますので色々な方法が考えられると思います。 今回のご質問だと既存のCGI(Perl)を改良されているとのことなのでちょっと的外れかもしれませんね。 どのようなCGIかはちょっとわかりませんが、簡単なものならばPHPを一から勉強して、オリジナルを制作してもそう遠くないような気がします。

nichibe
質問者

お礼

やはりperlでは無理そうなんですね。。 PHPなら出来る可能性があるということですか。 今まで全く触れてなかったので、うまくイメージが湧かないのですが、 もう少し別のCGIを探してみてからPHPに踏み出そうかと思います。 アドバイスありがとうございます!

  • EEshiba
  • ベストアンサー率29% (45/152)
回答No.1

anket.html->anket.cgi->anket.html という流れとの事ですが、anket.htmlというのは「左側や上部にメニューがあるもの」とあるので、フレームを使ったページで、質問とその結果が同一ウィンドウ内に表示されるページと考えれば良いのでしょうか? そこであるフレーム内の質問に答えると、集計結果が別フレームに即座に反映して表示されるような仕組みを作りたいという事で良いのでしょうか? 今、仮にそうだとすると、ウィンドウ内の全てをcgiで表示するようにしないと無理です。 多分、そのフリーのアンケートのCGIは質問ページ用のhtmlがあって、そのaction先にcgiを指定して、質問の回答をそのcgiに送り込んで処理して、結果のページを返すという動作と思われますが、残念ながら、そのやり方ではご希望の動作は実現できません。 同一のページに質問と集計結果を同時に表示する場合は全ての内容をcgiの出力結果として表示しなければなりません。 つまり最初にanket.cgiから始まって anket.cgi->anket.cgi->anket.cgi->anket.cgi...以下同じ という流れになるのです。 正直なところ、「初心者」と書かれているので、結構困難だと思われますが、cgiファイルしか無いアンケートcgiやメール送信ページ用のcgiなどは、そういう方法を使っている物もありますので探せばサンプルとなるようなcgiもあると思います。

nichibe
質問者

お礼

アドバイスありがとうございます。 anket.htmlは左側や上部にメニューがあるのですが、それはフレームではなくただのテーブルで、 出来ればそのメニュー部分を残したまま、テーブルの真ん中などに、CGIの処理結果を表示したいのです。 だから、 anket.html->anket.cgi->anket2.html と、CGIの処理結果を表示するHTMLはanket.htmlとは別に(例えばanket2.htmlとして)作成しても構わないと思ってます。 >多分、そのフリーのアンケートのCGIは質問ページ用のhtmlがあって、そのaction先にcgiを指定して、 >質問の回答をそのcgiに送り込んで処理して、結果のページを返すという動作と思われますが、 >残念ながら、そのやり方ではご希望の動作は実現できません。 また説明不足で申し訳ありません。 そのフリーのアンケートは元々は1つのCGIファイルの中に質問ページから処理結果の表示まですべて収まっていて、 そのCGIを実行するだけでアンケートへの回答から集計⇒グラフ化まで行えるようになってます。 それで、現在は私が作成したオリジナルのHTML内のformのaction先にこのCGIを指定してあるのです。 こういった状況でもやはり無理でしょうか? 頂いた返信を読みますと、実現は結構厳しそうなのですが、何かお勧めのCGIなどありましたら教えて頂けますか? よろしくお願いします。

関連するQ&A

専門家に質問してみよう