
はじめまして。makademiと申します。
phpはまったくの初心者ですので、的外れでしたらすみません。
現在、以下のような構成のアンケートフォームを作成しています。
form.cgi
↓読み込み
input.html 入力画面
check.html 確認画面
error.html エラー画面
end.html 完了画面
全てのhtmlはcgiでコードを読込んだ後に、print文で書き出しております。
今回はこのhtml内にphpのコードを書き込み、phpを動作させたいのですが、この場合どのようにすればよろしいでしょうか。
phpの動作の前提が『ファイル名.php』であるかと考えてますので、これだと拡張子は.cgiになってしまいます。
何か手はないでしょうか。
No.2ベストアンサー
- 回答日時:
CGIとPHPはそもそもの動作する仕組みが違うため、そのままではできません。
一応、CGIの拡張子をPHPとして実行することは可能ですが、その場合はCGIとしては機能しません。
PHPは仕組みが違うと書きましたが、PHPにはCGIモードやコンソールモードといったものもあります。
たとえば、CGIモードの場合、perlのようにCGIの拡張子にして、ファイルの先頭部分に#!/usr/local/bin/phpのようにphpのコマンドラインのパスを入れてあげればCGIとして動作するはずです。
また、Perlやそのほかの言語で作成したCGIに.phpファイルのようなものを読み込みたい場合、少し手間ですが、コマンドラインのphpに.phpファイルを引数にして渡してあげれば、phpとして動作した結果のHTMLを受け取ることができるはずです。
はずばっかりですが、実際には、そういう動作は用意されているのは知っていますが、どう考えても普通にphpやperlを実行した方が早いので私はやったことはありません。
そもそも、そんなに言語をまぜこぜにする利点はあまりありませんので・・・苦労の方が多いですよ。
ご回答ありがとうございました。
なるほど、CGIとPHPの競合は出来ない(できたとしても非常に厄介)なのですね…
色々制約がありまして、なかなか言語の統一が難しい状況ではありますが、なんとか統一してしまったほうが後々楽な気がしてきました。
そちらの方向で一度考え直してみたいと思います。
お世話になりました。
No.1
- 回答日時:
今ひとつ要件が理解できていないので的外れかもしれません。
一番単純なのはhtmlに書き出すのではなくphpとして書き出せば?
htmlで書き出さなければならない理由があるのでしょうか?
htmlで書き出さなければならないのであれば例えばボタンなどでphpファイルを呼び出せばよいだけでは?
>phpの動作の前提が『ファイル名.php』であるかと考えてますので
サーバー側の設定でどのようにでもなりますけど。
この回答への補足
ご回答ありがとうございます。
また、書き方がわかりにくくて申し訳ございません。
htmlである必要は全くないのですが、どちらにせよcgiから表示をしておりますので、ブラウザに表示されるURLとしてはhttp://localhost/form.cgiとなります。
こうなると最後の拡張子がphpではなくcgiになってしまい、phpが動作しないのです。
>サーバー側の設定でどのようにでもなりますけど。
なるほど…サーバ側で.cgiでもphpが動作するように設定が出来るということでしょうか。
どうもphpの動作条件がわかっておらず、拡張子が.phpであることがトリガとなって動作するのかと考えているのですが(.htmlだと同じコードでも動作しないので)間違っておりますでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォームを再送信しますか?
-
エクセルで集計したい。
-
(フリーの)ツリー掲示版CGI、...
-
ChatGPT
-
/bin/awk '{print $5}'ってどう...
-
apacheでPerl CGIが作動せず、5...
-
入力フォーム(電話番号)
-
POSTメソッドの最大容量について
-
ChatGPTの性能は昔に比べて上が...
-
chatGPTみたいに画像生成出来る...
-
iDeCo
-
皆さんはGUCCIはハイブランドだ...
-
cgi-binのエラー?
-
Trees掲示板CGI(CGI-Resque氏...
-
めちゃきれい
-
number 改行が追加できない
-
生成AI画像について
-
3DCG
-
ホームページにメールフォーム...
-
cgi アクセス制限 エラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
一番最後につけるend
-
CGIとPHPの違いってなんですか?
-
PHPとperlはどちらが初心者向き...
-
perlからphpを実行して結果を得...
-
ブラウザ上からFTPできるCGI
-
会議室予約のプログラムを作成...
-
EXCELファイルに誰がアクセスし...
-
KENT WEB(昨日の続きです)
-
《エクセルVBA》「他の人が該当...
-
CGIでソースがそのままでてしま...
-
FTPにて553エラー
-
ASP(IIS?)のエラーについて
-
VBScriptで、ファイルから任意...
-
ASP.NETでメール送信時のエラー
-
VBAでサーバーにアクセスするに...
-
ラジオボタンのグループ化
-
URLに~/cgi-bin/~を隠す方法
-
ASPから既存のexcelブックを開...
-
古ーくからフリーのtree.cgi掲...
-
CGIの設置について
おすすめ情報