
アンケートフォームなどの送信ボタンを押すとソースコードが表示されてしまいます。
初めまして、CGI初心者です。
色々な場所で調べてみた結果、いまいち明瞭な答えにたどりつかなかったので、
質問いたしました。
現在、WindowsXPにて、Perl(ver5.10.1)を使用したCGIを作ろうと思っています。
その中で、フォーム内容を記述して送信を押した場合に次のページに飛んだときに、
cgiのソースコードが表示される状態になってしまいます。
動作確認には、Apache2.2を使用しております。
例えば、単純にフォームに入力したものを次のCGIで表示するものを作った場合、
(sample_form.html)
<form action=print.cgi target=_blank method=get>
<input size=70 type=text name="input" value="sample text">
<input type=submit value="送信">
</form>
は、正常にフォームが表示されますが、送信を押した場合に
(print.cgi)
#!/perl/bin/perl
print "Content-type: text/html\n";
print "\n";
print "REQUEST_METHOD : $ENV{'REQUEST_METHOD'}<br>\n";
print "QUERY_STRING : $ENV{'QUERY_STRING'}<br>\n";
のようなCGI部分は、
CGIとして動作せずソースコードがそのまま表示されてしまいます。
過去ログにあったように
Apathの設定関係
httpd.conf
に手を加え、cgiを認識させるというような手順や、CGIを認識するディレクトリの変更はすでにしてあります。
それでも解決しませんでした。
あと、別に作ったCGIは普通に動作するという状況です。
フォームからの送信ボタンを押すとソースコードになってしまうのです。
どこに手をつけたらいいのかわからない状況なので、
よろしくお願いいたします。
また、書き足りない情報がありましたらご享受ください。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
「
http://127.0.0.1/cgi-bin/print.cgi」を直接ブラウザで表示させるとど~なるのカナ?もしこれで正常にスクリプトが動くようならフォームを記述した html ファイルへのアクセスが間違っています。
CGI の動作テストをしたいなら、呼び出す html も当然 http 経由で表示させる必要があります。単純にファイルのアイコンをダブルクリックしてブラウザに表示では駄目。
「http://127.0.0.1/cgi-bin/フォームを記述したhtmlファイル名.html」
でアクセスすると幸せ。
この回答への補足
回答ありがとうございます。
「http://127.0.0.1/cgi-bin/print.cgi」をブラウザからパス入力で表示させた場合、
REQUEST_METHOD : GET
CONTENT_LENGTH :
と表示されます。(コードの表示ではないです。)
フォームからのデータを受け取ってない状態なので、これだけの表示になるんだと思います。
htmlファイルはhujitomoさんの言われる通り、
「http://127.0.0.1/cgi-bin/フォームを記述したhtmlファイル名.html」
今回の例でいうところの
「http://127.0.0.1/cgi-bin/sample_form.html」
をブラウザに入力することによって、表示はされます。
ただ、このhtml上のフォームボタンをクリックした場合、本来、上記の実行結果が出るところが、コード表示になってしまいます。
No.1
- 回答日時:
>ソースコードが表示されてしまいます。
それってローカル環境で http を経由しないでスクリプトを呼び出した時の動作なんだけど…
キチンとサーバー(Apache)経由で接続してます?
この回答への補足
具体的にApache経由で接続しているとはどういうことなのでしょうか?
私は、ブラウザに「http://127.0.0.1/cgi-bin/CGI名.cgi」等のCGIやhtmlまでのパスを入力して表示させて動作確認をしていますが、まずいのでしょうか。
現状としましては、
ブラウザにパスを入力して、htmlを表示→ブラウザ上の送信ボタンを押す→cgiがソース表示になると言う感じです。
ブラウザに他のcgiなどのパスを入力した場合は、ちゃんと動作します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ビルダー20 お問合せフォー...
-
ビジネスメールの敬称
-
初歩的な事だと思います。 Sub...
-
VBAでInputBoxの再入力をさせる...
-
エクセルVBA テキストボックス...
-
フォームを再送信しますか?
-
テキストボックスの番号を使っ...
-
教えて!全角文字「μ」の半角
-
onkeyupのreplace処理を使うと...
-
複合機から自動的にFAXを送る方...
-
エディットボックスの入力制限...
-
DataGridView 列ごとの入力制限
-
excel vba でユーザーフォーム...
-
お問い合わせフォームから送信...
-
Excel-VBAでInputBox+Pulldown...
-
チェックボックスのCheckedとCh...
-
PHPでの注文フォーム作成について
-
ホームページでCGIのフォームを...
-
<input>のstep属性に違反する入...
-
ヤフージャパンへの問合せ 「次...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プルダウンの項目によって送信...
-
ビルダー20 お問合せフォー...
-
入力フォームの値が消える
-
ホームページビルダー18での...
-
ビジネスメールの敬称
-
Googleフォームを回答したか確...
-
初歩的な事だと思います。 Sub...
-
エクセルVBA テキストボックス...
-
お問い合わせフォームから送信...
-
テキストボックスの番号を使っ...
-
フォームを再送信しますか?
-
数字以外の入力をエラーにする...
-
教えて!全角文字「μ」の半角
-
Excel-VBAでInputBox+Pulldown...
-
DataGridViewの桁数制限に関して
-
VBA R1C1形式で変数の入力について
-
入力フォームの値をQRコードで...
-
VBAでInputBoxの再入力をさせる...
-
エディットボックスの入力制限...
-
EXCEL VBA で指定した範囲に入...
おすすめ情報