cgiのメールフォームについて質問です。
「WwwMail」というフリーのcgiを使用しています。
入力エリアが空欄でも、送信ボタンを押すと、
エラーメッセージは出さずに、指定のメールアドレスに送信される設定にしてるんですが、
空欄の時だけ、メールが送られてこないようにしたいんですが、どうしたらいいでしょうか?
メール送信の設定は、文字数がオーバーするので、
コメント欄に書きます。
うまく説明できなくて、申し訳ないです。
よろしくお願いします。
入力エリアとは、メッセージ入力欄の事でしょうか?
この場合は、133行目付近にあるメールアドレスチェックの前の部分に、次のように数行追加してみてください。
#次から4行追加 # メッセージ本文が入力されているかチェックする if ($FORM{'MESSAGE'} eq "") { &errexit("メッセージが入力されていません。"); } #この上までが追加する部分です。(※以降は変更ありません。) # # EMAILが正常なメールあどれすかどうか判断する #
メールアドレスが入力されていない場合に送信しない場合は、次のようにしてみてください。
# # EMAILが正常なメールあどれすかどうか判断する # #次の行から3行追加 if ($FORM{'EMAIL'} eq "") { &errexit("メールアドレスが入力されていません。"); } #この上までが追加する部分です。(※以降の行はそのまま) if ($FORM{'EMAIL'} =~ /^[-_\.a-zA-Z0-9]+\@[-_\.a-zA-Z0-9]+$/) { $mailfrom = $FORM{'EMAIL'}; }
※URLはダミーです。
回答者 | 回答 | 受取 | ベストアンサー | 回答時間 | |
---|---|---|---|---|---|
1 | ko8820 | 1221回 | 1068回 | 69回 | 2010-06-27 21:18:19 |
回答ありがとうございます。
上記を入れてみたのですが、
送信結果というページに飛んでしまうんです。
元のデザインの中に「メールアドレスが入力されていません。」だけ表示させることは可能でしょうか?
あと、空欄ではなく、正常なメールアドレスを入力して送信ボタンを押しても、
「メッセージが入力されていません。」と出てしまうようになっちゃいました。