アンケートフォームなどの送信ボタンを押すとソースコードが表示されてしまいます。
初めまして、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で質問しましょう!
似たような質問が見つかりました
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
入力フォームの値が消える
-
エクセルVBA テキストボックス...
-
ビジネスメールの敬称
-
TextBoxから数字が文字...
-
Safariで「本当にこのフォーム...
-
フォームに入力した内容をXMLに...
-
SendmailでHTML形式のメールを...
-
ACCESSから、メール送信を行い...
-
アイフォン使ってたらちょくち...
-
ExcelVBAのユーザーフォームで...
-
X(元Twitter)で問題があり、お...
-
なんで
-
複数行の入力を受け取る方法
-
お問い合わせフォームから送信...
-
フォームで半角英数(または直接...
-
何丁目か選べる住所入力補助Aja...
-
safariの 「本当にもう一度フ...
-
インスタのRSSを生成
-
キーボードでのタグ打ちについて
-
C言語の出力方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
入力フォームの値が消える
-
ビルダー20 お問合せフォー...
-
フォームーSubmitから呼...
-
メールフォームで送信先アドレ...
-
CGIを使ったメールフォームで送...
-
送信フォームの行き先・・・
-
選択肢によって送信先が変えら...
-
フォームから送信されたメール...
-
sendmail
-
フォームメールの送信先アドレ...
-
アンケートフォームなどの送信...
-
ビジネスメールの敬称
-
エクセルVBA テキストボックス...
-
テキストボックスの番号を使っ...
-
DATE型変数を初期化する方法
-
数字以外の入力をエラーにする...
-
初歩的な事だと思います。 Sub...
-
お問い合わせフォームから送信...
-
EXCEL VBA で指定した範囲に入...
-
Windowsのアプリ開発ってなんの...
おすすめ情報