CGIプログラミング初心者です。

拡張子.phpファイルにHTMLファイルのようにデザインを付けたい場合は、拡張子.phpファイルのままスタイルシートでデザインを付けられわけですが、
拡張子.cgiのファイルにデザインを付けたい場合はどうするのが普通なんでしょうか?

回答の条件
  • 1人5回まで
  • 登録:2008/03/10 18:56:45
  • 終了:2008/03/17 19:00:02

回答(4件)

id:pahoo No.1

pahoo回答回数5960ベストアンサー獲得回数6332008/03/10 19:07:31

ポイント23pt

「拡張子.cgiのファイル」とはPerlスクリプトのことで、「拡張子.phpファイルのままスタイルシートでデザインを付けられる」とはPHPのヒアドキュメントのことだというご質問であれば、下記サイトが参考になるでしょう。

id:kator

ありがとうございます。

書籍に載ってなかったので「ヒアドキュメント」初めて知りました。

2008/03/10 23:00:37
id:gorimaru9 No.2

gorimaru9回答回数26ベストアンサー獲得回数12008/03/10 19:28:06

ポイント23pt

原則は同じです。

CGIを実行した結果、出力されるHTMLにスタイルシートが適用されているようにプログラミングすれば良いのです。

id:kator

ありがとうございます。

SSIの場合、

をHTMLに記述してスタイルシートで

デザインしていたのですが、

書籍に載っていた拡張子.cgiのファイルにデザインを付けたいのですが・・・。

拡張子.cgiを.htmlに変えたらダメですよね・・・。

2008/03/10 22:52:25
id:tukihatu No.3

牛乳先生(tukihatu)回答回数180ベストアンサー獲得回数322008/03/11 10:07:32

ポイント22pt

CGIの中に書いてあるHTMLの文を変更したり、すれば大丈夫です。

基本的にPHPと同じですね。

ただCGIはドリビとかで読んでもデザインの形では表示してくれないので、

サーバにあげて確認、という感じになってしまいます。

今回は、書籍に載っていた拡張子.cgiのファイルにデザインを付けたいということなので無理そうですが、

デザインとシステムを分ける方法が一般的です。テンプレート化、というやつです。

たとえばbbs.cgiとbbs.htmlを作って、デザインをhtmlの方に書いてcgiで呼び出す、という感じです。

こうしておけばシステム(cgi)は触らず、デザイン(html)だけ修正すればOKだし、HTML作成ソフトでもデザインで確認できて非常に便利です。大体出回ってるcgiはこのタイプですね。

$filename = "index.html";

if(open(IN,$filename)){
@lines = <IN>;
close(IN);
print "Content-Type: text/html\n";
print "\n";
print @lines;
}else{
print "Content-Type: text/html\n";
print "\n";
print "File Open Error";
}
exit;

http://perl.misty.ne.jp/function01/open.html

こんな感じでopen命令で外部のhtmlを呼び出して出力しています。

htmlじゃなくても良いので、tempだったりdatだったりtplだったり拡張子はさまざまです。

id:shiroxcom No.4

しろっくす回答回数140ベストアンサー獲得回数52008/03/11 11:06:38

ポイント22pt

以前PHPをやっていて、現在Perlを勉強したいと思っている方とお見受けします。

理想的にはロジックとデザインは分離しておくのが良いと思います。

TemplateToolkitを使うのがベターだと思います。

http://d.hatena.ne.jp/keyword/Template%20Toolkit

その為には

mod_perlのインストール

CPANモジュールの活用

などを勉強する必要があるかと思いますが、

上記のようなものは初めから視野に入れて進まれた方が良いと思います。

Catalystなどのフレームワークを使うと、

さらに開発が楽になってくるでしょう。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません