私はPHPを使用して私のウェブサイトのフィードバックフォームを作っている、私はそれが動作していると思ったが、その後、コードに矢印を取った。PHPメールフォームが動作しない
とにかく、このフォームには、「名前」、「メール」、「件名」、「メッセージ」の4つのフィールドがあります。
4つのフィールドにすべて内容が含まれていると、「メッセージに失敗しました」という警告が表示されます。以下
combo 1 - "name", "email", "subject"
combo 2 - "name", "email", "message"
combo 3 - "name", "subject", "message"
combo 4 - "email", "subject", "message"
結果であったとして:ここで
combo 1 - "Thank you for your message."
combo 2 - "Thank you for your message."
combo 3 - "Message failed."
combo 4 - "Thank you for your message."
それは同様に
見て、私は4つの組み合わせ私を与える、4つのフィールドの3コンテンツでテスト
012:<form action="contact.php" method="post">
<input type="hidden" name="page" value="contact" />
<input type="hidden" name="req" value="submit" />
Your Name: <input type="text" name="name" />
<br/>
Your Email: <input type="text" name="email" />
<br/>
Subject: <input type="text" name="subject" size="69" />
<br/>
Message:
<br/>
<textarea cols="63" rows="8" name="message"></textarea>
</br>
<input type="submit" value="Send" />
<input type="reset" value="Clear" />
</form>
そして、ここではcontact.phpです:私は使用していますhtmlコード
<?php
$field_name = $_POST['name'];
$field_email = $_POST['email'];
$field_subject = $_POST['subject'];
$field_message = $_POST['message'];
$mail_to = '[email protected]_website.com';
$subject = 'Message from a site visitor '.$field_name;
$body_message = 'From: '.$field_name."\n";
$body_message .= 'E-mail: '.$field_email."\n";
$body_message .= 'Subject: '.$field_subject."\n";
$body_message .= 'Message: '."\n";
$body_message .= $field_message;
$headers = 'From: '.$field_email."\r\n";
$headers .= 'Reply-To: '.$field_email."\r\n";
$mail_status = mail($mail_to, $subject, $body_message, $headers);
if ($mail_status) { ?>
<script language="javascript" type="text/javascript">
alert('Thank you for your message.');
window.location = './contact.html';
</script>
<?php
}
else { ?>
<script language="javascript" type="text/javascript">
alert('Message failed.');
window.location = './contact.html';
</script>
<?php
}
?>
コードに問題はありますか?なぜこれをやっているのか分かりません。
の組み合わせをテストするとき、あなたはフィールドにすべての回同じ値を入力しなかったIEのthisadressのhotmail @? 。毎回電子メールでcom。 – Anton
メールは、失敗したメッセージで使用されていない唯一のメールだったので、悪い例でした。しかし、あなたはポイントを得る。 – Anton
はい、私は各フィールドに同じ値を入れました – Anon