• ベストアンサー

CGIをフレームで表示するには…

HTMLを複数作ると管理が大変なので、ひとつのCGIにまとめようかと思ってます。 HTMLフレームから、左と右をひとつのCGIファイルから呼び出すにはどうしたらよいでしょうか? 私は、CGI作ったことないので、ソースがわかりません。 パーミッションとかは、フリースプリクトの掲示板とかをいぢっているのでわかるのですが… 簡単なCGIのソースがほしいです、どなたか教えてください。

noname#5964
noname#5964
  • CGI
  • 回答数4
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • rokujiro
  • ベストアンサー率53% (17/32)
回答No.3

簡単にperlでソースを紹介しましょう!! (必要においてカスタマイズして下さい。) ------------------------------- if($in{'page'} eq 'a'){ &page_a_disp; } elsif($in{'page'} eq 'b'){ &page_b_disp; } else{ &page_main_disp; } ------------------------------- sub page_a_disp{ print <<"END"; <html> PAGE A </HTML> END } ------------------------------- sub page_b_disp{ print <<"END"; PAGE B <html> </HTML> END } ------------------------------- sub page_main_disp{ print <<"END"; <html> <frameset> <frame name="z.cgi?page=a"> <frame name="z.cgi?page=b"> </frameset> </html> END } ------------------------------- となります。 参考にして下さい。

その他の回答 (3)

  • burn
  • ベストアンサー率65% (25/38)
回答No.4

rokujiroさんは、親切にサンプルソースを載せられましたね。 一応、老婆心ながらrokujiroさんの補足です。 $in{'page'}を使用する場合には、 プログラムの最初の方に(perlのパスの後)に、 require 'cgi-lib.pl'; &ReadParse(*in); を忘れないようにしてください。 cgi-lib.plで渡された環境変数を分解して、$in{'page'}などといった、連想配列に入れてくれます。 cgi-lib.plの最新版は、 http://cgi-lib.berkeley.edu/ から入手できます。 ではでは・・・・

  • burn
  • ベストアンサー率65% (25/38)
回答No.2

こんにちは。 もしかしたら、誤解しているかも知れませんがお許しください。 多分、質問の趣旨はこういうことかな・・・と思います。 フレームHTMLのなかで <FRAMESET cols="50%,50%"> <FRAME src="A.html"> <FRAME src="B.html"> のA.html、B.htmlの管理が大変だから、両方とも、Z.cgiという形にしたいと言う事ですね。 どうしてもCGI(Perl)で実現したいという事であれば、次のようにすればできます。 <FRAME src="Z.cgi?page=A"> <FRAME src="Z.cgi?page=B"> として、Z.cgiに変数を渡し、プログラムの中で、変数による判断をさせて、おのおののHTMLを生成する、と言った具合です。 変数の受け取り方は、Perlのどの参考書でも書いてありますよ。 但し、この方法では、HTMLのソースコードはperlに埋め込まれる形になるので、メンテナンスが非常にやっかいになります。 素直に、HTMLのままで管理したほうが良いのでは・・・? それから、CGI等の解説サイトとしては、下記のサイトが判り易いと思います。 また、サンプルソースを手に入れたければ、次のサイトも役に立ちますよ。 http://www.i-say.net/cgi/ それでは・・・

参考URL:
http://tohoho.wakusei.ne.jp/www.htm
noname#5964
質問者

お礼

レスありがとうございます。 そうです、私が言いたいことはそれで合ってますよ。 「Z.cgi?page=A」のリンクが知りたかったんです。 私はてっきり「Z.cgi?A」だと思っていて、エラーが出まくっていたので困ってました。 どうもありがとうございます~、あとはソースだけですね…(汗

noname#4320
noname#4320
回答No.1

CGIを作ったことが無いということなので、問題を解決するのに 相当時間がかかると思われます。 CGIはどのような言語で作成する予定ですか?Perlでしょうか。 参考URLでCGIの仕組みを学習されてから、具体的なご質問をされるとよろしいのではないでしょうか。

参考URL:
http://tohoho.wakusei.ne.jp/
noname#5964
質問者

補足

レスありがとうございます。 フリーのスプリクトは改造しまくっているので、改造は苦手ではないです。 言語は、表示ができれば、PerlでもCGIでもいいです。 そんなに、極めるつもりはないので、今回の課題のみが知りたいです。

関連するQ&A

  • #exec cgi="**.cgi"をCGIページで表示する

    #exec cgi="**.cgi" を使って、全ページが同じように表示されるようにしたのですが、 掲示板等のCGIページではなぜか表示されず、ソースを見てみると <!--#exec cgi="**.cgi"--> がそのまま表示され、ただコメントとして扱われていました。 普通のHTMLファイルと同じように CGIでも**.cgiファイルを表示したいのですが、どうすればいいのでしょうか よろしくお願いします。

    • ベストアンサー
    • Perl
  • フリーCGI(perl) 掲示板でこんな内容の…

    もしご存知でしたらお教えください。 このようなフリーのCGIの掲示板を探しています。 自分のHPがwakwakのため、使えるCGIはperlだけになります。 要望1.1つのCGIで複数の掲示板のログを扱える。 要望2.できれば簡単な1行レスものがありがたいです。 要望3.またこれもできればですが、HTML内に埋め込み可能なものがうれしいです。 要望4.要望1にからんでですが、複数掲示板を扱えるCGIでも、必要なログの数だけソース内を さわらなくてはいけないのでは大変きついので、パラメータで受け取った引数をそのまんま ログ名にしてくれるようになっていてほしいです。 考えているのは、HTML側でJavaScriptでHTML名を取得し、それを引数にして渡す方法です。 そのようなフリーの掲示板はありませんでしょうか? 全部の条件を満たしてなくても、近いものがあればお教えいただきたいです。 すみませんが、何卒、よろしくお願いします。 ※あとプロバイダがwakwakというのがちょっと曲者ですが(cgi-binがpublic_htmlとは別に管理されている)。

  • HTMLでPHPを表示させたい

    HTMLでHPを作り始め画像掲示板を設置すべく「レッツ!PHP」様にて画像掲示板をDLしたのですが、PHPファイルの設置方法が全く分かりません。(私は超ド素人です) フレーム分けして左にメニューを設置、右に画像掲示板を設置したいのですがPHPファイルと言うのはどのようにして表示させれば良いのでしょうか?右に表示するファイル→<frame src="PHPファイル名.php">と言う形式で記述しても404です。色々検索して調べたのですが、未知の言語でサッパリです…属性の変更は出来ました(パーミッションと言う言葉も調べました…)DLし解凍した後から教えて頂けますと幸いです。 こんなド素人質問で申し訳ありませんが何卒宜しくお願い致します。

    • ベストアンサー
    • PHP
  • フレームになるとページが切り替わらない

    こんにちは。最近ネットサーフィンをしていて気づいたのですが、フレームを使用しているサイトで、フレームからCGI(掲示板やオエビやブログなど)などhtmlではないページに飛ぶと、他のリンクを押しても反応しなくなります。 例えば左メニューのフレームから右フレームにブログを表示させると、左フレーム内のリンクを押してもページが開かなくなります。 これはブラウザの問題なのでしょうか? インターネットの設定を変えると元に戻るのでしょうか?

  • 他の方へ飛ぶときのフレームについて

    トップページを、「左:ショートカット右:メイン」のフレーム構成にして、 1つのページで、gooさんの個人掲示板をメイン側に設けました。 ところが、その掲示板にURLを書き込んでもらって、そこからリンクすると、自分のサイトの左フレームが残ったままになってしまいます。 以前に似たような質問がありましたが、今回はgooさんから借りた「掲示板」からのリンクなので、HTMLのいじり方がよくわかりません。 どうにかして、他の方のページい飛んだとき、左フレームを消したいのですが、何か良い方法はあるのでしょうか?

  • CGI(BBS)の設置が出来ません(1)

    掲示板CGIサンプルをDLして設置作業を行っていますがうまく設置できません。 まず、サンプルをDLすると、以下の8書類が表示されました。 ・●●●.html(記事入力のHTML) ・●●●.html(記事表示のHTML) ・●●●.html(過去記事表示のHTML) ※HTMLのパーミッションは「666」に設定 ・jcode.pl(644に設定) ・bbs.cgi(755に設定) ・bbs.log(666に設定) ・bbs2.cgi(755に設定) ・pastno.dat(666に設定) ・プロバイダで指定されたPerlへのパス #!/usr/local/bin/perl CGIはプロバイダから指定されたcgi-binへアップしました。パーミッションの設定も上記の様に行いました。 ただ、bbs.cgiのソース(?)の中でよく分からない個所がありました。 (2)へ続く

    • 締切済み
    • CGI
  • フレームを解除して新しいHTMLファイルを開きたい

    フレームの宣言をする htmを作成し、それをロードすると、左フレームにメニュー、そこのメニューから選択すると右のフレ-ムにコンテンツの **.htmファイルを見れるように、最近よく見かける方式のHPを作りました。 しかし、左フレームのメニューからあるHTMLファイルを開いたときにはフレームを解除してその新しいHTMLファイルを画面いっぱいに表示したいのですがどうやったらできるのでしょうか? 左フレームのメニューから右フレ-ムの位置指定すると右フレ-ム内に、位置指定しないと別のブラウザ画面に表示(拡大すれば画面いっぱいになるが)になるようです。元のフレームを閉じて、新しいHTMLファイルだけを画面いっぱいに表示したいのですが。おわかりのかたがおられたら教えてください。

    • ベストアンサー
    • HTML
  • フレーム間のラベルへのリンク

    ホームページビルダー2001で左フレームから右フレームのラベルにリンクしたいのですが、どうしたら良いでしょうか? フレームを利用したHTMLでヘルプを作っていまが、 フレームは左右2分割で、 左側のファイルは「リカードのヘルプ目次.htm」で、 右側のファイルは「リカードのヘルプ本文.htm」です。 これを「リカードのヘルプ.htm」フレームで管理しています。 右フレームには左1画面に収まりきれない縦長の文章が沢山あります。 左側の目次の文字をクリックすると、右側の文章のラベルのところへ 右の画面が移動するようにしたいのですが、どのようにするのか 解かりません。(インターネット Ninnjaのヘルプのようにしたい) よろしくお願い致します。

  • ホームページのフレームのソースを教えてください

    以前 少し教えていただいたことがあるのですが 上手くいきませんでした。 たとえは 上から下に 2分割して  経ダリのフレームにリンクができるように項目を2つぐらいつけようと思います この場合 HTMLのページは  4つ いるのですよね。 (1)  左のページのみ(スクロールのソースをいれた)          (リンク先2つのソースいれた) (2)  右だけのページ (右に表示されるHTMLのみ) (3)  左のリンク先の1つ(A)             (1)の左のハイパーリンクを             押せば表示されるHTML (4)  左のリンク先の残りの1つ (b)             (1)の左の残りのハイパーリン            クを押せば表示されるHTML と理解しています それぞれに HTMLを書き入れてみましたが 上手くいきません 詳しいことがきにゅうされたURLなど 紹介いただければ嬉しいのですが  よろしく お願いします また 仕組みについて いまいち 理解がされていません  教えてください

  • フレームのラインの消し方

    左フレームにメニューが表示され、右に選択した項目のページが表示されるようになっておりますが、左フレームはスクロールバーは出るほど項目がないのでフレームの境目のラインをなくしたいと思っております。現在ホームページビルダー(6.5)で作成しておりますが、いろいろ試した結果できませんでした。このソフトで出来るやり方があったら教えて欲しいのですが、方法がないようでしたらHTMLでも結構です。 ソースの方は初心者なので、どの部分にどんなタグとかを入れればよいか教えていただけると助かります。 よろしくお願いします。

    • ベストアンサー
    • HTML

専門家に質問してみよう