カレッヂ |
質問者 ジゴ郎
投稿日 6/19(火) 15:23:42
cgiにて、入力チェック等を行っているのに、入力チェックがされずにメールだけは空で送信されてしまいます。 他のサイトで使用したcgiを流用しているので、大きなところで問題はないようにも思えてしまって、何度見直してもどこが悪いのかでてきません。 どなたかアドバイスを下さいますようよろしくお願いいたします。 http://www.seeg.co.jp/test/mail/mail.html cgi内容は http://www.seeg.co.jp/test/mail/mail.txt です。 |
回答者 しあわせのツボ
[削除]
投稿日 6/19(火) 16:47:33
確かにエラーだと判定された時に処理する部分は入っていますが、その前にエラーかどうかを判定する部分がどこにもありません。 コピー忘れでもなさそうですので、流用元でもチェックされていなかったのではないでしょうか。 エラーチェックのルーティンを追加する必要があるでしょう。 |
質問者 ジゴ郎
[削除]
投稿日 6/19(火) 17:02:03
エラーチェックを行って、OKの場合とNGの場合という判定とは、 以下のところではないのですか? &check_proc ; # 入力エラーチェック if ($rc == 0) { &format_proc ; # 選択項目をテキストに編集 &mail_proc ; # メール送信 &end_proc ; # 操作完了ページ表示 } else { &err_proc ; # 入力エラーページ表示 } すみません、よく分からないのでお教えください! |
回答者 しあわせのツボ
[削除]
投稿日 6/19(火) 18:12:38
同じ内容ですが、改めて説明します。 &err_procはあるのですが、これは「エラーがあった時にその旨を表示する」だけのものです。 「送信された内容が正しいかどうかをチェックし、エラーがあればそれを&err_procに知らせる」機能がスクリプト中に存在していないので、&err_procが実行されることはあり得ません。 「内容をチェックし、問題があれば$rc(とその種類に応じて@CHKFLGのいずれか)を適切に変更する(そうすると&err_procが動作する)」という部分が別途必要です。 |
回答者 しあわせのツボ
[削除]
投稿日 6/19(火) 18:16:11
追記。 おそらく、&check_procがチェックをしていると信じているのでしょうが、該当部分を見ると入力チェック処理はされていません。 |
質問者 ジゴ郎
[削除]
投稿日 6/19(火) 22:34:38
なるほど。確かにcheckされていると信じておりました。恥ずかしいですが。。 すみません。ちゃんとcheckするように作ります。流用元のやつも、、 どうもありがとうございます! |
このページは終了したので返信(回答)は書きこめません
Web裏技 |