• ベストアンサー

CGIプログラム

以下の問題について教えてください。 お願いします。 PHPに限らず、CGIプログラムで変数の内容を使ったHTMLコードを生成する場合に、単純にHTMLコードを出力しただけでは、正しいHTMLコードにならなかったり、CGIプログラムが動かないことがある。その場合には、どのようにしてその問題を回避するか。

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

  • ベストアンサー
  • kamikami30
  • ベストアンサー率24% (812/3335)
回答No.1

とりあえず、問題の意味はわかりますか? 私は問題の説明があまり良いとは思いませんでした。 変数がアバウトすぎる。 変数と言うだけなら、どんな値も取ることは出来るが、プログラム中でどのように使っているかも場合によるから。 CGIの話をしているから、出題者はユーザー入力に対する結果の話を言いたいのかもしれない。 でも、その変数がユーザー入力の影響を受けるものとは限らないし、問題に書いていない。 だから、前提条件としては問題に含めるべきですね。 まぁ、多分そう言う問題なのだろうから、回答の最初に、 『ここで言う変数をユーザー入力により自由な値を許すものとすると』 と言う下りで回答してやれば良い。 問題に不備があると伝わるし、回答としても正解と言える。

関連するQ&A

  • CGIプログラム

    PHPに限らず、CGIプログラムで変数の内容を使ったHTMLコードを生成する場合に、単純にHTMLコードを出力しただけでは、正しいHTMLコードにならなかったり、CGIプログラムが動かないことがある。その場合には、どのようにしてその問題を回避するか。

    • ベストアンサー
    • CGI
  • 外部CGIの実行結果を変数内に取り出したい

    こんにちは。 外部CGIの以下のような実行結果を、プログラム内(変数)に読み込むにはどうしたらよいのでしょう。 簡単そうなのにできないので・・。 「Content-type: text/html 文章」 外部プログラムが吐く上記のような内容を、普通に変数内に読み込みたいのです。 しかしopenでは実行前の、cgiの中身がそのまま出てしまいますし、 systemやexecコマンドでは、実行結果の内容が、変数に格納される前に、そのまま出力されてしまいます。 外部cgiの方を変更するしかないのでしょうか? どなたかお教えください。

    • ベストアンサー
    • Perl
  • CGIプログラムエラー

    今まで見ていたサイトが急に見られなくなりました。 こちらで過去の質問等見ましたが 私はPCについて無知なのでどのプログラムを立ち上げて どのようにすればいいのかまったくわかりませんでした。 詳しい方、どうか助けてください。 よろしくお願いします。 以下はエラーの内容です。 ******************************** CGIプログラムエラーのため表示することが出来ません。(500 Internal Server Error) ・多くの場合、以下のような理由が考えられます。  ・パスの指定違い   perlのパスは/usr/local/bin/perlです。  ・スクリプトの改行コードに問題があります。   ファイルの転送時はアスキーモードで転送してください。  ・スクリプトの記述に誤りがある可能性があります。   文法チェック等を行ってください。 ・上記が正しい場合、以下のような理由が考えられます。  ・サーバー負担が高いため実行できない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
  • CGIで動的生成したページでPHPを使いたい

    初めて質問します。 現在、自社のWebサイトのリニューアルを任されています。 ヘッダー、フッター、ナビゲーションを表示させる際、利便性を考えてPHPでそれらを動的生成するようにしています。 PHPは、Webサイトのルートにある.htaccessに『AddType application/x-httpd-php .html』を追記して、HTML上からincludeで呼び出しています。 このサイトの問合わせフォームが元々CGIで作られているのですが、このCGIから生成されたページのみ、インクルードされたPHPが作動せず、ソースにPHPのコードがそのまま表示されます。 .htaccessのAddTypeに .cgi と付けてもダメで、CGI本体をcgi-binからフォームと同階層のディレクトリに移してもダメでした。 CGIとPHPは同時使用できないのでしょうか。

    • ベストアンサー
    • CGI
  • CGIを自作するには・・・??

    こんにちは。 掲示板やアクセスカウンターなどのCGIを自分で作りたいのですが、まず何から勉強すれば良いのか教えてください。 HTMLでホームページを作るくらいで、プログラムのことは全くの初心者です。 やはりPerlが分かってからでないと難しいのでしょうか? また、CGIとPHPと言うのは根本的に違うものなのでしょうか? CGIが作れるからPHPも・・・と言うわけにはいかないのですか? その辺のところを教えていただけるとありがたいです。 よろしくお願いします。

    • ベストアンサー
    • CGI
  • iモードとCGI

    現在iモード用のCGIを作ろうと思っています。 CGIはサーバサイド・スクリプトですので、 サーバ側の環境が整っており、CGIによって生成されるHTMLファイルがiモードの仕様に合っていれば、PerlやPHPなど、どの言語を使ってもよいということでしょうか?またそれらとデータベースを連携させても問題ないということでしょうか? iモードに関してはまったく知識がありません。 基本的なことかもしれませんが、よろしくお願いします。

    • ベストアンサー
    • CGI
  • CGIプログラム内でのHTML表記

    CGIプログラムの中で、HTML表記をする場合は一文ごとに print "<TITLE>集計結果</TITLE>"; というような方法しか知りません。 HTMLソースが長いのでもっと簡単な方法を用いたいのですが、どなたか教えてください。

    • 締切済み
    • CGI
  • Perl/CGIプログラムとPHPプログラムはどちらがメジャー?

    2000年くらいから自分のWEBページを作成して、Perlで書かれたCGIプログラムを設置していました。 また、2005年くらいからはnucleusなどのPHPで書かれたBlogを運営したりして、現在に至ります。 現在、WEBページ制作代行の仕事をしていますが、Perl/CGIプログラムとPHPプログラムでは、今はどちらがメジャーというか、旬なのでしょうか? プログラムの内容によって使い分けるのが良いのかとも思いますが、現在はどちらの言語がメジャーであって、使い勝手などが良いのか、教えてください。 単語の用法など間違いがありましたらご了承下さい。 尚、Perl、PHP共に、一からプログラムを作成することはできませんが、作られたプログラムを改造する程度ならできるレベルです。 よろしくお願いいたします。

    • ベストアンサー
    • CGI
  • 初心者がCGIプログラムを作って見たい・・・。

    はじめまして。よろしくお願いします。 (質問に至るまで) HTMLやCSSを勉強し、それなりにある程度出来るようになりました。色々ページ作成等している中で、レンタルフォームやチャット、掲示板などがCGIで動いている事を知りました。また一般的にはそのようなCGIプログラムは広告付きのレンタルか、業者から購入するかであることを知りました。でも、できることならHTMLやCSSを勉強したように、自分で勉強して作成できないものなのだろうか?と考えるようになりました。 (今の状態) 自分で調べてCGIはプログラム言語そのものではなく、概念である事、Perlという言語が一般的に使われる事、でもC言語やその他の言語も使える事を知りました。が全くそれらの知識はありませんしまだ違いもよく分かっていません(少しは調べましたが)。そこで (質問) 1 全くの初心者が独学でも、頑張ればある程度のプログラムを作れるようになりますか?掲示板を作るとか、メールフォームを作るとか・・・。 2 上記のような目的ならPerlを勉強するのが一番いいのでしょうか? 3 1日2,3時間勉強に取れるとして、以下が出来るようになるまでの大まかな(時間的な)目安を教えて下さい。目安ですので、自分は実際にそこまでする予定のないものも含みます。 ・大体の仕組みが分かり、ちょっとしたCGIの改造が出来るようになる。 ・自分で簡単なプログラムを作れるようになる ・自分で本格的なプログラムができるようになる ・なんと人の希望を聞いてCGIを作って売ることまで出来るようになってしまう(^^)。 あくまでできるものならやってみたいなぁ、というもので、将来「これで仕事を!」と思っているわけではありません。ですから「大変だぞ、やめときなよ。」というご意見でも結構ですので、よろしくお願いします(でも一応上記質問には答えてもらえたらと思います)。

    • ベストアンサー
    • CGI