1

ここでかなり基本的なものが欠けていることを願っていますが、空のフォームがランダムに送信され、1日に3〜8回送信されることもあれば、数日間送信されないこともあります。

空の送信は常に、件名が「[Website Contact Form]」の電子メールです。私のphpには検証がありませんが、htmlコードでは、件名はドロップダウンメニューから選択され、デフォルトは「一般的な問い合わせ」です。以下の php コードでは、人間が上記の件名の空のフォームを送信する方法がないことに注意してください。つまり、何も入力せずに送信を押すと、常に「[Website Contact Form]General Enquiry」になります。

contact.html でこの contact.php ファイルを呼び出します。

<?
   $email = 'info@mail.com';
   $mailadd = $_POST['email'];
   $headers = 'From: ' . $_POST['email'] . "\r\n";
   $name = $_POST['name'];
   $subject = '[Website Contact Form] ' . $_POST['subject'];
   $message = 'Message sent from: ' . $name . '. Email: ' . $mailadd . '. Organization: ' . $_POST['company'] . '. Phone: ' . $_POST['phone'] . '. ';
   $message .= 'Message: ';
   $message .= $_POST['message'];

   if (mail($email,$subject,$message, $headers)) {
    echo "<p>Thank You! We'll get back to you shortly.</p>";
   }
   else {
    echo "<p>Error...</p>";
   }
?>

このコードを多くの Web サイトで使用していますが、この問題に遭遇したことはありません。私が見逃しているこのコードに明らかに間違っているものはありますか? どんな助けでも大歓迎です!

4

2 に答える 2

1

このコードを使用していて正常に動作している場合は、送信フォームなど、このケースで変更した変数を確認します。

すべての一般的な可能性でフォームを試し、機能するかどうかを確認してください。空の Subject は、フォームに「[Website Contact Form]」という件名を付けます。スクリプトが実際に投稿変数を取得し、フォームが正しい変数を送信することを確認してください。ドロップダウンには、値が "" のオプションと、innerHTML の "General Enquiry" がある場合があります。値は送信されるものです。

サーバー側でも入力をチェックするのは良いことです

<?php 
      if(isset($_POST['subject'],$_POST['email'])){

      }
?>
于 2012-10-10T03:13:17.260 に答える