<?php
function show_form()
{
?>
<form action="" method="post">
<table class="link_table" border="0" cellspacing="0" cellpadding="7" width="100%" bgcolor="#eeeeee">
<tbody>
<tr>
<td align="right" valign="middle"><strong>Ваше имя<span class="style9"> *</span>:</strong></td>
<td><input id="name" name="name" size="40" type="text" /></td>
</tr>
<tr>
<td align="right" valign="middle"><strong>Ваш телефон<span class="style9">*</span>:</strong></td>
<td><input id="age" name="tel" size="40" type="text" /></td>
</tr>
<tr>
<td align="right" valign="middle"><strong>E-mail <span class="style9">*</span>:</strong></td>
<td><input id="email" name="email" size="40" type="text" /></td>
</tr>
<tr>
<td align="right" valign="middle"><strong>Тема <span class="style9">*</span>:</strong></td>
<td><input id="email" name="title" size="40" type="text" /></td>
</tr>
<tr>
<td align="right" 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>
<br />
<td align="right" valign="top"><strong><input type="submit" value="Отправить" name="submit"></span></strong></td>
</tbody>
</table>
<p><strong class="style9">*</strong> — поля, обязательные для заполнения.</p>
<p>Телефон в международном формате </p>
</form>
<?
}
function complete_mail() {
// $_POST['title'] содержит данные из поля "Тема", trim() — убираем все лишние пробелы и переносы строк,
// htmlspecialchars() — преобразует специальные символы в HTML сущности, будем считать для того, чтобы простейшие
// попытки взломать наш сайт обломались, ну и substr($_POST['title'], 0, 1000) — урезаем текст до 1000 символов. Для
// переменных $_POST['mess'], $_POST['name'], $_POST['tel'], $_POST['email'] все аналогично
$_POST['title'] = htmlspecialchars(trim($_POST['title']));
$_POST['mess'] = htmlspecialchars(trim($_POST['mess']));
$_POST['name'] = htmlspecialchars(trim($_POST['name']));
$_POST['tel'] = htmlspecialchars(trim($_POST['tel']));
$_POST['email'] = htmlspecialchars(trim($_POST['email']));
// если не заполнено поле "Имя" — показываем ошибку 0
if (empty($_POST['name']))
output_err(0);
// если неправильно заполнено поле email — показываем ошибку 1
if(!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $_POST['email']))
output_err(1);
// если не заполнено поле "Сообщение" — показываем ошибку 2
if(!preg_match("/[а-я_]+[а-я_]+[а-я]{2,3}/i", $_POST['mess']))
output_err(2);
// если не заполнено поле "Контактный телефон" — показываем ошибку 3
if(!preg_match("/[0-9_]+[0-9_]/i", $_POST['tel']))
output_err(3);
// создаем наше сообщение
$mess = '
Имя отправителя:'.$_POST['name'].'
Контактный телефон:'.$_POST['tel'].'
Контактный email:'.$_POST['email'].'
'.$_POST['mess'];
// $to — кому отправляем
$to = 'email@email.ru';
// $from — от кого
$from = htmlspecialchars(trim($_POST['email']));
$headers = "From: {$from}\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=utf-8\r\n";
$headers .="Content-Transfer-Encoding: 8bit";
mail($to, $_POST['title'], $mess, $headers);
//mail($to, $_POST['title'], $mess, "From:".$from);
echo 'Спасибо! Ваше письмо отправлено.';
}
function output_err($num)
{
$err[0] = 'ОШИБКА! Не введено имя.';
$err[1] = 'ОШИБКА! Неверно введен e-mail.';
$err[2] = 'ОШИБКА! Не введено сообщение.';
$err[3] = 'ОШИБКА! Не введен телефон.';
echo '<p>'.$err[$num].'</p>';
show_form();
exit();
}
if (!empty($_POST['submit'])) complete_mail();
else show_form();
?>