Форма обратной связи на PHP для WordPress.
Данная форма обратной связи использует php.
Небольшое описание:
- Содержит 3 поля: Тема, обратный email и сообщение.
- Обязательное для заполнения: поле сообщение
- Против спама используется простая проверка на спам (Нужно ввести нужные цифры).
- К сообщению добавляется ip, host посетителя
- Для начала установим плагин Allow PHP in Posts and Pages (описание).
- Создадим страницу, в качестве адреса я указал feedback.
- Изменим в указанном коде почту на нужную: $to = "admin@site55.ru";
- Меняете данные в форме: поле кому,адрес страницы в теге form.
- вроде все.
На момент написания статьи, использовал в форме обратной связи.
Код:
<script language="JavaScript" type="text/javascript">
function AutoCap() {
var TitleResuly = document.getElementById("resultcap");
var number = document.getElementById("login").value;
var submity = document.getElementById("submit");
if (number != "10") {
TitleResuly.innerHTML = "Вы не верно решили пример";
submity.style.display = "none";
} else {
TitleResuly.innerHTML = "";
submity.style.display = "block";
}
};
</script>
[ php ]
if (isset($_POST['EmailSend'])) {
if (isset($_POST['tema'])) {$tema= $_POST['tema']; if ($tema=='')unset($tema);};
if (isset($_POST['text'])) {$text= $_POST['text']; if ($text=='')unset($text);};
if (isset($_POST['mail'])) {$mail= $_POST['mail']; if ($mail=='')unset($mail);};
if (isset($_POST['login'])){$spam= $_POST['login'];if ($spam=='')unset($spam);};
$ip = getenv ("REMOTE_ADDR");
$os = getenv ("HTTP_USER_AGENT");
$host = getenv ("REMOTE_HOST");
if(!isset($spam) or $spam!=10){
echo "[div class='box-error']Вы неверно решили пример :(.[/div]";
}else{
if(!isset($text) or empty($text)){
echo "[div class='box-error']Вы не заполнили обязательные поля.[/div]";
}else{
$to = "admin@site55.ru";
$subject = "Feedback: $tema";
$headers = "Content-type: text/plain; charset=UTF-8\r\n";
$message = "
Обратный e-mail: $mail
Тема: $tema
Сообщение:
$text
--------------------------
IP: $ip
Браузер и OC: $os
---------------------------
Отправлено с помощью контактной формы на manual1c.ru";
$ok = mail($to, $subject, $message, $headers);
if ($ok == true) {
echo "[div class='box-info good center strong']Письмо отправлено[/div]";
} else {
echo "[div class='box-error']Ошибка при отправке письма :([/div]";
};
}
}
}[ /php ]
<form id="send" action="/feedback/" method="post" name="mail" style="margin-left:50px">
<table class="bordernone">
<tr>
<td><label for="email"><b>Email:</b> </label></td>
<td><input type="text" name="mail" id="email" style="width:380px;" width=380px title="Введите правильный адрес" class="required email" /></td>
</tr>
<tr>
<td><label for="email"><b>Кому:</b> </label></td>
<td>admin@site55.ru</td>
</tr>
<tr>
<td><label for="tema"><b>Тема:</b></label></td>
<td><input type="text" name="tema" id="tema" style="width:380px;" width=380px title="Введите тему" class="required" value="" /></td>
</tr>
</table>
<input type="text" name="EmailSend" id="EmailSend" style="display:none;" value="1" />
<label for="text"><b>Текст сообщения:</b></label>
<textarea cols="53" rows="10" name="text" id="text" title="Введите текст сообщения" class="required"></textarea><br />
<p><label for="text"><b>Перед отправкой решите пример:</b> <br />20 - 10 равно </label><input type="text" name="login" id="login" style="width:80px;" title="Введите число" class="required" onchange="AutoCap();" /><input type="button" value="Проверить" onclick="AutoCap();" /><br />
<div id="resultcap"></div>
<input style="display:none;" type="submit" value="Отправить" id="submit" class="submit" />
</form>