我正在爲我的網站使用PHP提供反饋表單,我認爲它正在工作,但隨後它將箭頭指向代碼。PHP郵件表格無法正常工作
無論如何,表單有4個字段:「名稱」,「電子郵件」,「主題」和「消息」。
如果所有四個字段都有內容,我會收到「消息失敗」警報。
看作爲是這種情況,我在4個場的3與內容測試,這使我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."
這裏是我使用的HTML代碼:
<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:
<?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
}
?>
代碼有問題嗎?我不明白爲什麼這樣做。
當測試組合,你在字段中輸入相同的值全部時間即thisadress @ hotmail的。每次都在電子郵件中發送。 – Anton 2012-03-01 23:32:12
好吧,電子郵件是一個不好的例子,因爲它是唯一沒有在失敗的消息中使用的例子。但你明白了。 – Anton 2012-03-01 23:34:08
是的,我確實把每個領域相同的價值 – Anon 2012-03-01 23:40:45