送信ボタンからCGIを起動するには?
みよっち
2000/05/18(木) 12:14:07
はじめまして
アンケートフォームをHTMLで作ってそこからCGIを起動してdatファイル
に追加した後、確認メッセージ「ご協力ありがとうございました」をブラウザ
に表示するということをしたいのですが、うまくいきません
環境としてはプロバイダにアップする前に自分のパソコン上に
Apache、Perlをインストールしてhtdocsフォルダにhtmlとcgiを置き
Apacheを起動した後。URLに127.0.0.1としてhtmlを呼び出すところ
まではうまくいくのですが、フォームを入力し送信ボタンを押しても
cgiが起動しません。(もちろんdatファイルにもアンケート結果は
書かれていません。)
cgi単独で起動すると確認メッセージが出てくるので動きます。
送信ボタンとcgiプログラムがつながっていないようなのですが
htmlのform actionもそのcgiを指定してますし(同一フォルダに
あります)送信ボタンもinput typeはsubmitとしております
どなたかお知恵を貸して下さいませ
お願いします
はじめまして
アンケートフォームをHTMLで作ってそこからCGIを起動してdatファイル
に追加した後、確認メッセージ「ご協力ありがとうございました」をブラウザ
に表示するということをしたいのですが、うまくいきません
環境としてはプロバイダにアップする前に自分のパソコン上に
Apache、Perlをインストールしてhtdocsフォルダにhtmlとcgiを置き
Apacheを起動した後。URLに127.0.0.1としてhtmlを呼び出すところ
まではうまくいくのですが、フォームを入力し送信ボタンを押しても
cgiが起動しません。(もちろんdatファイルにもアンケート結果は
書かれていません。)
cgi単独で起動すると確認メッセージが出てくるので動きます。
送信ボタンとcgiプログラムがつながっていないようなのですが
htmlのform actionもそのcgiを指定してますし(同一フォルダに
あります)送信ボタンもinput typeはsubmitとしております
どなたかお知恵を貸して下さいませ
お願いします
偽
2000/05/18(木) 12:24:46
その、フォームの記述はどうなっているのでしょうか?
その、フォームの記述はどうなっているのでしょうか?
みよっち
2000/05/18(木) 13:26:49
お世話になります
プログラムを単純にしてテストしたのですが
form.htmlの方は
<form action="http://127.0.0.1/form/form.cgi"
method="post" >
<input type="text" size="20" name="shimei">
<input type="submit" value="送信">
<input type="reset" value="クリア">
</form>
form.cgiの方は
とほほ入門の「CGIスクリプトをデバッグするには」
にありましたように、単純にOK.と表示させることも
できません(単独では表示されます)
#!C:/Perl/bin/perl
print "Content-type: text/html\n\nOK.\n"; exit(1);
exit;
cgiがやはり実行されてないのではないかと思うのですが...
お世話になります
プログラムを単純にしてテストしたのですが
form.htmlの方は
<form action="http://127.0.0.1/form/form.cgi"
method="post" >
<input type="text" size="20" name="shimei">
<input type="submit" value="送信">
<input type="reset" value="クリア">
</form>
form.cgiの方は
とほほ入門の「CGIスクリプトをデバッグするには」
にありましたように、単純にOK.と表示させることも
できません(単独では表示されます)
#!C:/Perl/bin/perl
print "Content-type: text/html\n\nOK.\n"; exit(1);
exit;
cgiがやはり実行されてないのではないかと思うのですが...
悪魔のZ
2000/05/18(木) 13:41:25
↑これは ブラウザからhttp://127.0.0.1/form/form.cgi で(CGIとして)起動したときの話でしょうか?
それとも C:>perl form.cgi とかやってPERLで起動したのでしょうか?
まず前者の単体のCGIとして起動できる場合はform.html側に原因があると思って間違いありません、
後者のPerlとしては起動できている場合はブラウザでhttp://127.0.0.1/form/form.cgiの実行結果を確認してください
上手くいかなかったら Apatch がcgiをPerlとして実行する設定になってないと思います、
>(単独では表示されます)
↑これは ブラウザからhttp://127.0.0.1/form/form.cgi で(CGIとして)起動したときの話でしょうか?
それとも C:>perl form.cgi とかやってPERLで起動したのでしょうか?
まず前者の単体のCGIとして起動できる場合はform.html側に原因があると思って間違いありません、
後者のPerlとしては起動できている場合はブラウザでhttp://127.0.0.1/form/form.cgiの実行結果を確認してください
上手くいかなかったら Apatch がcgiをPerlとして実行する設定になってないと思います、
みよっち
2000/05/18(木) 15:26:14
[[解決]]
悪魔のZさま
ありがとうございました
やはりhtmlの記述に誤りがありました
</form>を最初送信ボタンの上に記述してまして
送信ボタンもフォームの一部ということで中に含める様
に修正したのですが、何回やっても結果が同じでした
というのはブラウザ上で更新ボタンを押して再実行していたのですが
これだと修正結果が反映されないので、ブラウザを再起動して
やったところちゃんと送信されました
結果として初心者的なトラブルでしたが、ありがとうございました
[[解決]]
悪魔のZさま
ありがとうございました
やはりhtmlの記述に誤りがありました
</form>を最初送信ボタンの上に記述してまして
送信ボタンもフォームの一部ということで中に含める様
に修正したのですが、何回やっても結果が同じでした
というのはブラウザ上で更新ボタンを押して再実行していたのですが
これだと修正結果が反映されないので、ブラウザを再起動して
やったところちゃんと送信されました
結果として初心者的なトラブルでしたが、ありがとうございました