プロが教えるわが家の防犯対策術!

ホームページに更新記録CGIを設置しているところです。
それ自体はIFRAMEでページに表示させるタイプで、現在ちゃんと動作しています。
しかし1つ問題が…ちょっとページデザインを換えようと思っているのです。
素材配布ページなんですけど、上に一覧の入り口を表で作り、その表の幅を600に設定しました。
その下に同じようなデザインで更新記録CGIをIFRAME表示させようとしました。
しかし、なぜか微妙に左にずれています。更新記録CGIの表はもちろん600に設定しています。IFRAMEの方はスクロールバー分ずれるだろうと思いちょっと広め(680)にして、IFRAME自体はセンターへ、中の表示も中央に設定しました。でも、ずれてしまいます。
この方法をどうにかする方法があればうれしいのですが、どうせならSSIで表示できないかと考えました。これだとセンター表示されるのでは?でも、スクロールはどうなるのかな…際限なく(CGIの表示設定数)表示されるんですかね。
で、現在使っている物がSSI対応じゃないCGIのようです。これをSSI表示させることは可能でしょうか?
サーバのほうは、SSI表示OKでした。
私自身はCGIを0から作ることは出来ませんが、ある程度の改造をすることは可能です。私が出来る(理解できる)かどうかは逐一答えて行きたいと思っています。
何か良い方法がありましたら教えてください。

A 回答 (3件)

> htmlになんと書けばいいのですか?



<!--#exec cmd="プログラムのパス"-->

↑これを書いたところに、プログラムから出力される文字が表示されます。

ただ、SSI対応のサーバでは、ファイル名を ○○.html ではなく、
○○.shtml にしなければならない場合がありますので
その辺りはパーミッション云々も含めて、
サーバの設定に従ってください。

インクルードされるプログラムの方は ○○.cgi でも動く場合がありますし、
○○.pl にしないと動かない場合もあります。
その辺もサーバの設定で。


> 何か法則があるのなら…と思って質問してみました。

print "Content-type: text/html;\n\n";

↑これを削除する理由は、
HTML側ですでに、text/htmlが出力されることになっているからです。

なので、この文章は要らない、という意味で、1行かどうかは分かりません。
2、3行あったら全部削除して下さい。(笑
    • good
    • 0
この回答へのお礼

ありがとうございます。何とかできました。

まず、CGIの方は「print "Content-type: text/html;\n\n"; 」も、ですが、スタイルシートの設定、BODY表記なども重複していたので消去しました。

で、htmlの方ですが、ご指摘のとおりshtmlでしか動きませんでした。
また、shtmlと同じフォルダにCGIが無いと動作しませんでした。←これに1時間ほど悩みました。初心者泣かせだなぁ…
とりあえず完成しました。
ありがとうございます。

お礼日時:2003/01/18 19:46

IFRAMEの中に表示するのであれば、


CGIでやって理想通りに表示されないものは
SSIでやったところで理想通りには表示されません。

IFRAMEの中ではなく、その部分にSSIで表示したい、というのであれば、
スクロールはもちろんなく、全部が表示されることになります。

それでもSSIにしたい、という場合は、
CGIの中の

print "Content-type: text/html;\n\n";

を削除すれば動く可能性はありますが、
そのプログラムのソースが無いことには断言は出来ません。

この回答への補足

素早い回答ありがとうございます。

>IFRAMEの中ではなく、その部分にSSIで表示したい
あ、もちろんそうです。IFRAMEを使わなくて良いようにと考えSSIではと思いつきましたから。

>スクロールはもちろんなく、全部が表示されることになります。
やっぱりスクロールは無理ですか…

>print "Content-type: text/html;\n\n";
これはCGIの中のヘッダーの1文でいいのですね。

>そのプログラムのソースが無いことには断言は出来ません。
もちろんそのとおりだと思います。ただ、何か法則があるのなら…と思って質問してみました。

で、最終的にどうしたら良いのでしょうか?htmlになんと書けばいいのですか?
再度お願いします。

補足日時:2003/01/18 17:04
    • good
    • 0

iframe のSCROLLING="no"にしてしまうことで、スクロールバー分のずれは解消できると思いますが、


スクロールバーがないと不都合のCGIなのでしょうか。

SSIで表示させる場合、ヘッダの出力は必要ありませんので、

print "Content-Type: text/html; charset=Shift_JIS\n\n";

のような記述は不要です。

それ以外の修正は実際見てみないとわからないのですが、
とりあえず、なにも改造しないままSSIで呼び出してみてはいかがでしょうか。

この回答への補足

素早い回答ありがとうございます。

>スクロールバーがないと不都合のCGIなのでしょうか。
┌──┬──┬───┐
│日付│名前│修正点│
├──┼──┼───┤
│日付│名前│修正点│
├──┼──┼───┤


こんな感じでずらっと並ぶので、できるならスクロールバーがあったほうがうれしいです。

>print "Content-Type: text/html; charset=Shift_JIS\n\n";
これは、CGIの中のヘッダーの一列を消すということでOKですか?

>なにも改造しないままSSIで呼び出してみてはいかがでしょうか
どう表記したら良いのでしょうか?基本的なことがわかってなかったりします(T.T)
再度、よろしくお願いします。

補足日時:2003/01/18 16:46
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!