Пытаюсь сделать контактную форму без капчи, блокирующую спам. С точки зрения пользователя это работает, поскольку страница благодарности появляется после нажатия кнопки отправки.
Проблема 1. Приходящее электронное письмо пусто и не содержит содержимого отправленного сообщения. Нашел здесь сообщение, которое звучит похоже, но предложенное предложение не применимо: Проблема с контактной формой: я получаю сообщения, но без содержания (пустая страница).
Проблема 2. Ответное сообщение также появляется в том же почтовом ящике, а не отправляется на адрес пользователя формы, который при тестировании оказался моим собственным.
HTML:
<form method="post" action="submit.php">
<p>Name:<br>
<input type="text" name="Name" id="Name" /></p>
<p>Phone:<br>
<input type="text" name="Phone" id="Phone" /></p>
<p>Email:<br>
<input type="text" name="Email" id="Email" /></p>
<p class="antispam">Leave this empty:<br />
<input name="url" /></p>
<p style="color:#06C;">Forward to:<br>
<input type="text" name="Forwardto" id="Forwardto" /></p>
<p>Message:<br />
<textarea name="Message" rows="20" cols="20" id="Message"></textarea></p>
<p><input type="submit" value="Send" class="submit-button" /></p>
</form>
PHP (с удаленным моим фактическим адресом):
<?php
if(isset($_POST['url']) && $_POST['url'] == ''){
$youremail = '[email protected]';
$body = "This is the form that was just submitted:
Name: $_POST[name]
Phone: $_POST[phone]
E-Mail: $_POST[email]
Forward to: $_POST[forwardto]
Message: $_POST[message]";
if( $_POST['email'] && !preg_match( "/[\r\n]/", $_POST['email']) ) {
$headers = "From: $_POST[email]";
} else {
$headers = "From: $youremail";
}
mail($youremail, 'Contact Form', $body, $headers );
}
?>
Соответствующий CSS:
<style type="text/css">
.antispam { display:none;}
</style>
Проблема в коде выше. . . или может быть что-то еще происходит?
$_POST['Email']
вместо$_POST['email']
с большой буквы Е? - person Mateusz   schedule 09.05.2013name
в форме. вы отправляетеEmail
,Phone
и т. д., но пытаетесь получить доступ кemail
,phone
и т. д. - person Marc B   schedule 09.05.2013