• 締切済み

HTMLスキン型CGIを作るには?

フォームメールの制作を行っているのですが、汎用性を高めるために、HTML部分はすべて外部に書き出して処理に関するところだけをCGIに記述しようと考えています。 まず、デザインテンプレート(HTMLスキン)に$html_contentsなどと挿入位置を記述しておき、 CGIへのアクセスがあった際に、スキンを読み込み、その挿入位置に結果を代入するというものです。 できるなら、エラーメッセージや完了メッセージの部分も外部(HTMLを記述した*.datかな?)ファイルとしたいです。 参考になるサイトもしくは、プログラムをご存知の方はご教授願います。

  • CSC
  • お礼率38% (57/148)
  • CGI
  • 回答数2
  • ありがとう数0

みんなの回答

  • tonjiru
  • ベストアンサー率37% (63/168)
回答No.2

ここの「スキンボード」が解りやすいかと。

参考URL:
http://atom.hostmycgi5.com/
  • iichiho
  • ベストアンサー率37% (416/1114)
回答No.1

ご質問のような処理は別に特別なことでもなんでもまりません。 カスタマイズ可能なcgiではあたりまえにやっていることですので、自分の作りたい動きをするフリーのcgiをもらってきて、そのソースを見ればすぐにわかると思います。

関連するQ&A

  • CGIスキンに外部txtを表示するには?

    お世話になります。 初歩的な質問だと思いますが、お付き合いくださるとありがたいです。 ・‥…━━━・‥…━━━ SSIやPHPで、複数ページに表示するメニューを 一個の外部ファイルにして、各ページから読み込む方法がありますよね。 <!--#include virtual="menu.txt"-->等 これは、CGIのスキンには使用出来ないでしょうか。 (例えば、apeboardやCLEVER等のスキンが使えるCGIを使用予定) 他のページと同じようにBBSやリンクCGI、 メールフォームなどのスキンも 同じファイルをメニュー部分として呼び出したいと思っています。 CGIフォルダに.htaccessで「AddType text/x-server-parsed-html .shtml .html .cgi」と書いても呼び出せませんでした。 (同じディレクトリのHTMLファイルは、呼び出せました) 何か方法があるのではないかと思い、書き込みさせて頂きます。 どうぞ宜しくお願いいたします。

    • ベストアンサー
    • CGI
  • CGI(Perl)とHTMLについて

    CGI初心者です、Perlの知識は皆無です。 質問は2つあるのですが・・・ 1、CGIのページを例えば画像を呼び出すようにHTMLで指定できるのでしょうか? 画像であれば<img src=".../AAA.gif">ですが、こんな感じでCGIのページ自体をHTMLの指定した枠に呼び出すことはできるのでしょうか。 2、CGIページのカスタマイズ 現在、CGIレスキューさんからダウンロードしたファイルをカスタマイズしています。 条件指定ができる検索データベースです。 設置と動作確認はできたのですが、思うようにレイアウトできないでいます。 Perl記述中にテーブル(HTML)を挿入すると、プルダウンメニューから選択項目が飛び出してしまうのです。 (おおざっぱに記述すると) print <<"---HTML---"; あいうえお<select name="aiueo" size=1> ---HTML--- forseach $i (@AIUEOs) { print "<option value=\$i\"$pref_selected{$i}>$i</option>\n";} print <<"---HTML---"; </select> <p> (略) ---HTML--- こんな感じです、変数の部分は変えてます。 ずっと上の方で、 @AIUEOs = ("あああ", "いいい", "ううう", "えええ", "おおお"); と、変数が定義されてるようです。 名称かきく「プルダウンメニューA」 名称あいうえお「プルダウンメニューB」 要は、「 」の部分を揃えたい(縦に整列)のですが、うまくいきません。プルダウンメニューが飛び出してしまいます。 2段目のHTML記述部分がなぜ閉じタグから始まっているのかもよくわからないです。 端折ってますので、分かりにくいと思いますが、コメントいただける方、よろしくお願いします。

    • ベストアンサー
    • CGI
  • CGIで得た内容をHTMlページに代入

    たびたびの質問で恐縮です。 HTMLページにラジオボタンを設置し、 これを選んだらこの答え、これを選んだらこの答え、 と、ページを移動させるようCGIを記述しました。 いくつもの質問に回答した結果、 最終ページにひとことコメントを入れたいです。 たとえば Q2でA、Q5でCを選んだ場合は 最終ページで”よくできました”などです。 それを、CGIで表示するのではなく、 HTMLページに代入して表示させたいです。 私のイメージでは、 if ($q1 eq "A" && $q5 eq "C") $ans eq "よくできました"; などと、CGIなどで変数を設定して それをHTMLに埋め込むようなコードを記述すればいいのではないかとか考えて 色々やってみたのですがうまくいきません。 ほかのサイト等色々見ていると、以下のような感じで代入できそうな気がしています。 <p>!ans!</p> どのようにしたらいいのでしょうか? 参考サイト等ありましたら教えてください!

    • ベストアンサー
    • CGI
  • スキン式掲示板で変数が直接出てしまう suEXECサーバーのせい?

    CGIの初心者です。 <a href="http://dream.lib.net/room/cgi/e_vbbs.html">こちらのサイト<a>からCGIをDLし、HTMLでスキン作成できる掲示板を作ろうとしているのですが、うまくいきません。 CGIはきちんと動作するのですが、HTMLスキンの方からCGIへうまく連動してくれません。スキンには現在$name等、変数が直接表示されており、投稿するとリロードするだけで何も出力しません。 CGIの方に直接投稿すればきちんと反映されます。 試しに、DLしたものそのままで(perlのパスはそのままでいける設定でした)、アップロードし確認しましたが、同じ状態です。 サーバーは、HTMLやCGIのおき場所は決まっていないタイプです。suEXECサーバーであることは何か関係あるのでしょうか? 何もいじっていないのでシンタックスエラーとかでは ないような気がするのですが…。 パーミッションもマニュアルどおりに設定しています。(CGI 755 dat 666 pl 644 html 755) これが原因じゃないか、というがわかる方 おしえてください。

    • ベストアンサー
    • CGI
  • ブログのような日記CGI探してます

    4コママンガのページを作るのに使います。 フレームを使いたくないので ブログ形式がいのですがなかなかいいのが見つかりません。 HTMLでスキン変更。 左にタイトル一覧表示。 記事はHTMLタグを挿入。 PHP、DBは使用不可。 簡単なCGI探しています。

    • 締切済み
    • CGI
  • HTMLについて

    seesaablogのスタイルシートに、 シンプルホワイトってのがあります。(一番シンプルなやつ) このシンプルホワイトのテンプレートを、 他ブログにインポートしようとしたのですが、 HTMLだけがうまくいきません。(CSSは大丈夫) <!--CM1--><!--CM2-->タグを挿入して下さい、 と、エラーメッセージが表示されます。 シンプルホワイトのHTMLに、 上記タグを挿入すればいいんでしょうけど、 どこにいれればいいかわかりません。 どこにいれればいいのですか?

  • スキンについて教えて下さい!!!

    スキンについて教えて下さい!!! 最近スキンの存在を知った者です。 前々からイラストメインのサイトを立ち上げたいと思っていたのですが、 理想のサイトがほとんどninjyaを使用していて、左側にメニューがあり、そこにあるアイコンを 押すと右側のスペースにイラストなどが表示されるようになっていました。 何の変哲もないサイトを立ち上げることすら難しいので半ば諦めていたのですが、 スキンとテンプレートを知り、(違いは未だに分かっていません…)理想の形に向けて 作成に取り組んでいます。 頂いてきたスキンを自分のサイト流にアレンジしてきてかれこれ3日経ちました。 作業は全てメモ帳で行っています。 困っていることがいくつか出てきたのですが、答えが分からず本当に困っています。 ・頂いたスキンのメニューに最初から入っていたものの他に日記や掲示板を入れるため、 メインのスキンとは他に各スキンを頂いてきました。(同じサイトから頂きました。) メニューにリンクをはり、クリックするとイラストのように右側に掲示板などが表示されるように したいのですが、どうしても別のウィンドウが開いてしまいます。 ※スキンにもとから入っている以外のコンテンツを増やす、ということは不可能なのでしょうか? ・メモ帳とネット上に表示したサイトを見比べながら作っているのですが、あるとき突然スキンの枠? デザインがなくなってしまいます。 文字やリンクは残っているのですが、白黒になってしまって…。 「左にメニュー、右に表示」という設定もなくなってしまいます。 どこか設定部分をメモで消してしまったわけでもないようなんです。 最後に、スキンは圧縮されているので解凍してから使用して下さいとあったのですが、 メインスキンの方は解凍作業(未経験です)もせず、普通にメモで作成に入れました。 が、コンテンツごとにダウンロードしたスキンは上記スキンと勝手が違い、 全く作業が進みません。 ネット上で「凍結されているか…」という文面が出るので解凍が必要だと思いファイルに 同梱されていた説明書を読んだのですが、情けない話ですが理解出来ず… 「スキンだけでは利用出来ないので●●というサイトから○○といものをダウンロードしてきて 下さい」とあったので、それは行いました。 長くなってしまいましたが、何か必要な情報が抜けていましたらお知らせ下さい。 どなたかご存知の方がいらっしゃいましたら助けて下さい…!

  • HTMLの外部jsのようなcgiファイルについて

    はじめまして。かなりレアなケースになると思うのですが、すでにリリースしており、泣き寝入りする事態が起きまして、CGIの出力のところがわからなくて困っております。 1、あるHTMLをブラウザで開くと<head>内のCGIが実行される。 <script language="JavaScript" type="text/javascript" src="○○.cgi"></script> 2、このCGIが実行されるとMySQLのデータを取得し、HTMLでデータを取り扱えるよう、取得した値をJavaScriptの配列の形式に加工され、「Temporary Internet Files」に○○.cgiが保存されます。 var 配列A=new Array(); 配列A[0]="0000001,名前,住所"; 配列A[1]="0000001,名前,住所"; ※○○.cgiを開くと右のような配列の表記が記載されている。 3、このHTML内で、上記の配列をJavaScriptで呼び出せば、Temporary Internet Filesに保存されたcgiファイルのデータ(配列形式の)が表示されるので、まるで外部JSの配列を扱っているかのようにDBのデータを取得することができます。 mysqlのデータを取得した後、CGIでHTMLに吐き出すぐらいはわかるのですが、 画面上に表示させるのではなく、外部JSなら普通どこかサーバにあるJSファイルを見にいくと思うのですが、Temporary Internet Filesに保存され、それが値として操作できるところです。 このCGIの出力の記述がまったくわからないので困っております。 わかりにくい文章で本当に申し訳ございません。どうかよろしくお願いします。

    • 締切済み
    • CGI
  • CGIでのHTMLとプログラムコードの分離について

    CGIでのHTMLとプログラムコードの分離について CGIプログラミングのフレームワーク的なアイデアについてご教示願いたいです。 CGIを記述する場合、その多くは下記のようなスタイルになるのではないかと思います。 1.formタグのactionからcgiを呼び出す     ↓ 2.cgiの中で計算やsendmail等の処理を実行     ↓ 3.結果をブラウザ上に表示するためprint等を利用してhtmlタグを表示 この手法を用いると、手順2のところでHTML部分とプログラムコード部分が混合してしまい、見栄え(html部分)を変更しようと考えた時、HTML部分の記述があるcgiプログラムを編集し、該当する部分のタグを表示させているであろうprint文の表示内容を変更する必要があります。 見栄えのhtml部分とCGIのコードを完全に分離することは出来ないのでしょうか??? 上記手順の「1」に関してはhtmlファイルを編集する事だけで、cgiファイルを編集する必要はありません。 手順「3」もリダイレクトを利用すれば可能だと思います。 問題は、手順「2」の部分です。 この部分の見栄え部分を変えようとすると、どうしてもcgiプログラムを開いて編集する必要に迫られてしまいます。 下記の例のような処理(見栄え用のhtmlファイルを読み込む方法)は出来ないものでしょうか? <例:アンケートフォーム> 1.アンケートフォーム(html)のformタグにあるactionからcgiを呼び出す     ↓ 2.cgiでformタグ内のテキストエリアやラジオボタン等の情報を収集     ↓ 3.収集結果を表示させるための「hantei.html」を読み込む     ↓ 4.読み込んだ「hantei.html」の中に収集結果を埋め込んで表示     ↓ 5.問題なければアンケート結果をsendmail等でメール送信   問題あれば手順1のアンケートフォーム(html)へ戻る     ↓ 6.無事にメール送信出来れば、有難うございましたページ(html)へリダイレクト 上記手順の3と4が実現できれば、見栄えを変えたい時はhtmlファイルを編集すればよく、cgiプログラムを触る必要がなくなるのではないかと思います。 私が考えている事について、「自分はこうしている」とか「そうではなくてこうすれば良いよ」などなどありましたら、是非ご教示願いたいです。

    • ベストアンサー
    • Ruby
  • HTMLレイアウトのことについて教えてください

    HTML初心者で右も左も解らないのでよろしくお願いします CSSで左がメニュー、右がコンテンツ部分の2カラムのテンプレートを作成しています、フレームを使用したときのようにメニューを押したら左の部分だけを変えることはできますか? 通常は同じレイアウトにしたい場合はメニューの数だけ同じテンプレートのHTMLを作成する物ですか? そうした場合メニューや同一レイアウトの部分に変更があった場合全てのHTMLを書き直さなければいけないという事ですよね? メニューの数が多い場合や変更がこまめにある場合はは大変になりますよね? 何か良い方法はありますか? 普通はこういった使い方はしないものでしょうか? よろしくお願いします。

専門家に質問してみよう