- ベストアンサー
CGIの出力結果をHTMLに表示したい(SSI使用)
http://wa-ka.net/mash/sozai/tenshin/index.html 上記のサイトのアンケートCGIを利用しています。 アンケートの集計結果を、HTML上に表示したいのですが、どのようにしたら良いのかアドバイスをお願い致します。 HTMLのページの中に <!--#exec cgi="./tenshin.cgi?mode=reportfile"--> と記載しても上手く表示されません。 ですが、 <!--#exec cgi="./tenshin.cgi"--> と記載すると、一応 tenshin.cgiにアクセスした時に表示される内容が表示されます。 HTMLファイルと、cgiは同じ階層においてあります。 <!--#exec cgi="./tenshin.cgi"--> と <!--#exec cgi="./tenshin.cgi?mode=reportfile"--> の違いは、「?mode=reportfile」があるか無いかなのですが、このようにcgiの後に何か付いてしまうと、SSIでCGIを呼び出しHTMLに表示する事はできないのでしょうか? アドバイスをお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
<!--#exec cgi="./tenshin.cgi"--> として http://wa-ka.net/mash/sozai/tenshin/index.html?mode=reportfile でアクセスすればQUERYは渡るけど駄目なのかな? この辺りのことは #! /usr/local/bin/perl print"Content-type: text/html; charset=shift_jis\n\n"; print"<html><body>\n"; print"<h1> [環境変数のTEST] </h1>\n\n"; foreach(sort(keys %ENV)) {print" \$ENV{'$_'} = $ENV{$_} <P>\n"; } __END__ ってなCGIを置いてみて、SSIで呼び出すとか色々試せば ヒントが浮かんでくるかと思うけど? >このような方法で問題はありますでしょうか? さあ?私は特に問題があるようには聞いていませんが
その他の回答 (2)
mode=reportfileの時に、 "Content-type: text/html\n\n"(または、"Content-type: text/plain\n\n") を出してないのでは?
お礼
ご回答ありがとうございます。 >mode=reportfileの時に、 >"Content-type: text/html\n\n"(または、"Content-type: text/plain\n\n") >を出してないのでは? これについては、perlにはそれほど知識が深い訳ではありませんので、どこを見れば良いのかも分からないので、御指摘の箇所については実際はどうなっているの分かりません(ー_ー) <!--#include virtual="./tenshin.cgi?mode=reportfile"--> 一応上記の方法で、上手く表示させる事ができたので、この方法を使用したいと思います。 ご回答ありがとうございました。
- moon_night
- ベストアンサー率32% (598/1831)
tenshin.cgi?mode=reportfile の処理を別のCGIとして分けてやればいいと思います。
お礼
ご回答ありがとうございます。 >tenshin.cgi?mode=reportfile >の処理を別のCGIとして分けてやればいいと思います。 そうですね。これができれば問題はないのですが、自力でそのようなCGIを作成する事ができなかったので、SSIで表示できるように、何か良い方法はないかと思い質問をした次第です。 もう少し調べてみて、下記の通りに記述したら上手くできました。 <!--#include virtual="./tenshin.cgi?mode=reportfile"--> このように記述して上手くできましたが、このような方法で問題はありますでしょうか? 何かあれば、御指摘をお願いします。 それでは、よろしくお願いします。
お礼
ご回答ありがとうございます。 SSIやPerlに対しては、あまり知識がないので、WEB上で調べてできそうな範囲内でしか、私にはできないのが悲しい所です。 <!--#include virtual="./tenshin.cgi?mode=reportfile"--> 一応、上記の方法でアンケート結果を表示させる事ができたので、この方法で対応したいと思います。 特にこの方法でも問題ないとの事なので、安心しました。 ありがとうございました。