プロが教える店舗&オフィスのセキュリティ対策術

CGIは素人です。商品の申込みフォームでCGIを使おうとしています。
マニュアルどおりにすすめていますが、サーバーへ送って、送信ボタンを押すとエラー画面になってしまいます。Perlパスにも書き換えていて、アスキーで送っています。ヒントになるご回答おまちしています。

A 回答 (2件)

お答えは、anglyさんのテスト環境では上手く動いていて、


サーバー上ではエラーになってしまう・・・と言う事で良いのでしょうか?
又、CGIはご自身で用意されたものと言う事で良いですね。

上記の点を前提としてお答えすると、エラーの原因として考えられるのは、以下の点です。

1.そのCGIが読み書きしている、ファイルのパーミッションが間違っている。

CGIで書き込みをしている、ファイルは無いですか?
あったら、そのファイルのパーミッションは666、ディレクトリは777にしてみてください。

2.Perlのパスが間違っている。

これは、今回はクリアされていると思います。

3.sendmailのパス、もしくは構文エラー

もし、angelyさんがWindows環境で開発されたものならば、sendmailはサーバーに送って初めて稼動する部分だと思います。
良くあるのは、sendmailのパスの記述ミス。
そして、メールヘッダーと、本文との間に空行を開けて居ない場合等です。

多分、商品の申込みフォームと言う事ですから、オーダーをメールで送信する様な仕様になっていると思います。
良くチェックしてみてください。


他にもエラーを起こす要因はありますが、今の情報だけだと、この辺りからチェックしてみるのが良いと思います。

今までの開発経緯など、もう少し詳しい情報を頂けたら、
エラー原因を特定できると思います。

この回答への補足

早速お答えいただいて嬉しいです。もう少しというかだいぶ詳しく説明いたします。orderというフォルダの中にordersheet.cgi(パーミッション755←サーバーの指示)ordersheet.htm(パーミッション604)cgi-lib.pl(パーミッション404)jcode.pl(パーミッション404)ordersheet.dat(パーミッション606)でこれをFTPでアップロードしました。755以外のパーミッションは本を見ながらしました。cgiスクリプトで送信ボタン後の部分は以下のようになっています。お答えいただいた、sendmailというのが何かわからなかったのですが・・・。私が作っているこのCGIには必要なものですか?

# -----ここから出力-----
print "Content-type:text/htm\n\n";

print <<END_OF_HTML";

<html>
<head><title>申込み</title></head>
<body>ありがとうございました。早速商品をお送りします。</body>
</html>
END_OF_HTML

補足日時:2001/08/01 22:43
    • good
    • 0

・最初に「Content-type: なんとかかんとか」 と、


 空行を1行Printするようにしましたか?
 http://tohoho.wakusei.ne.jp/wwwcgi.htm
・このサイトを参考にしてみてはどうですか。

参考URL:http://tohoho.wakusei.ne.jp/wwwcgi7.htm,http://w …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!