Инструкция
Создаем структуру с типом Динамическая страница
Размещаем в коде код из обработчика
Создаем константы FORM_EMAIL_TO и FORM_EMAIL_FROM
Тестируем
Стилизуем под сайт
Обработчик
<h1>Обратная связь</h1>
<form action="." method="post" id="callback_form" enctype="multipart/form-data" name="form">
<table class="link_table">
<tbody>
<tr>
<td align="left" valign="middle"><strong>Ваше имя<span class="style9"> *</span>:</strong></td>
<td><input id="name" name="name" size="40" type="text" /></td>
</tr>
<tr>
<td align="left" valign="middle"><strong>Ваш телефон:</strong></td>
<td><input id="age" name="tel" size="40" type="text" /></td>
</tr>
<tr>
<td align="left" valign="top"><strong>Вопрос<span class="style9"> *</span>:</strong></td>
<td><textarea id="comments" cols="35" rows="7" name="mess"></textarea> <input id="confirm" name="confirm" type="hidden" value="yes" /></td>
<tr>
<td></td>
<td align="left" valign="top"><strong><input type="submit" value="Отправить" name="submit"></span></strong></td>
</tr>
</tbody>
</table>
<p><strong class="style9">*</strong> — поля, обязательные для заполнения.</p>
</form>
<?php
/**
* Отправка писем 5
*
* @author Kuts Artem, KAD Systems (©) 2015
* @date 03-07-2015
* Начало >>
*/
// Имя формы
$formName = "form";
// Название поля-ключа отправки или кнопки отправки
$keyName = "submit";
// Тема письма
$subject = "Заявка";
// Получатель
$form_email_to = FORM_EMAIL_TO;
// Отправитель
$form_email_from = FORM_EMAIL_FROM;
// Массив полей, второе значение - флаг валидации
$aFields = array('name' => 1, 'tel' => 0, 'mess' => 1);
// Шаблон контента
$content = "Имя {name} <br/> Телефон {tel} <br/> E-mail {email} <br/> Сообщение {mess} <br/>";
// Временная директория для размещения загруженных файлов
$filesTmpPath = "upload/";
// Сообщения
$aMessages = array(
'success' => 'Спасибо! Ваша заявка принята!',
'error_ff' => 'Пожалуйста, проверьте правильность заполнения полей!'
);
$valid = TRUE;
if (isset($_POST[$keyName]))
{
foreach ($aFields as $field => $req)
{
if ($req && (isset($_POST[$field]) && mb_strlen($_POST[$field]) < 1))
{
$valid = FALSE;
break;
}
$content = str_replace('{'.$field.'}', $_POST[$field], $content);
}
if ($valid)
{
$headers = "From: " . $form_email_from . "\r\n";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=utf-8\r\n";
// Отправляем
if (@mail($form_email_to, $subject, $content, $headers))
{
$message = $aMessages['success'];
}
} else
{
$message = $aMessages['error_ff'];
?>
<script>
<?php
foreach ($aFields as $field => $req)
{
echo $formName . ".";
echo $field . ".value = \"";
echo $_POST[$field] . "\";" . "
";
}
?>
</script>
<?php
}
if (isset($message))
{?>
<script>
alert("<?php echo $message;?>");
<? if ($valid)
{
?>
// Раскомментить, если после отправки нужно вернуться на главную
document.location = "/";
<?
}
?>
</script>
<?php }
}
?>