Скріпт для відправки повідомлення з сайту (php)

Зазвичай при використанні конструктора сайту, типу WordPress або Joomla кодувати форму зворотнього зв’язку та її відправлення немає потреби – достатньо вже готових плагинів та самі конструктори підтримують відправлення. Але дехто любить сайти на чистому HTML та CSS з використанням PHP. І саме для них написав коротеньку записку про зручний скрипт для відправлення пошти з сторінок сайту. Все, що треба – отримати від відвідувача потрібні дані, передати їх скрипт та відправити. Використовується стандартна функція PHP – mail().

<?php 
header("Content-Type: text/html; charset=utf-8");
if(isset($_POST['submit'])){
/* Встановлюється e-mail Кому та від Кого будуть приходити листи */   
$to = "mail@mail.com"; // куда отправлять письма   
$from = "Назва сайту <поштова_адреса_сайту>"; // от кого
 
/* Вказуємо перемінні, в які буде записуватися інформація з форми */
$name = $_POST['name'];
$phone = $_POST['phone'];
$message = $_POST['message'];

/* Перевірка вірності написання e-mail адреси */
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $email))
{
show_error("<br /> Е-mail адреси не існує");
}
     
/* Це буде відправлено на пошту із значеннями, що вводяться в зазначені поля */
$mail_to_myemail = "Вітання! 
З сайту <адреса_сайту> відправлено повідомлення. 
Им'я: $name
Телефон відправника: $phone
Текст повідомлення: $message
Для відповіді використовуйте адресу з листа.";  
     
$headers = "From: $from \r\n";
     
/* Відправлення повідомлення за допомогою функції mail() */
mail($to, "Повідомлення з сайту <адреса_сайту>", $mail_to_myemail, $headers . 'Content-type: text/plain; charset=utf-8');
echo "<link rel='stylesheet' href='assets/css/main.css'>";
echo "<section class='wrapper' style='width: 100%; padding: 10% 0;'>";
echo "<div style='width: 500px; margin: 0 auto;'>";
echo "<h2 class='col-12' style='text-align: center;'>Дякуємо Вам, " . $name . ", повідомлення відправлено.<br><br>Скоро ми зв'яжемось з Вами.</h2>";
echo "<p style='font-size: 22px; text-align: center; padding-top: 40px;'><a href='<адреса_сайту>'>Повернутись на сайт.</a></p>";
echo "</div>";
echo "</section>";
}
?>
<!--Переадресация на главную страницу сайта, через 3 секунды-->
<script language="JavaScript" type="text/javascript">
function changeurl(){eval(self.location="<адреса_сайту>");}
window.setTimeout("changeurl();",6000);
</script>

Як видно, в перемінні вносяться значення відповідно назвам. З коментарями все зрозуміло.

На сайті ж має бути сама форма, що відповідає стилістиці сайту та повинна мати всі потрібні поля для внесення даних, що відправляються. Наприклад, така.

<form method="post" action="send.php">
<div class="fields">
<div class="field half">
<input type="text" name="name" id="name" placeholder="Ім'я">
</div>
<div class="field half">
<input type="text" name="phone" id="phone" placeholder="Телефон" />
</div>
<div class="field">
<textarea name="message" id="message" rows="5" placeholder="Повідомлення"></textarea>
</div>
</div>
<input type="submit" name="submit" value="Відправити">
</form>

Скрипт відправлення пошти має бути збережений в файлі send.php, на який посилається форма зворотнього зв’язку сайту. Швидко, зручно, практично!

Scroll Up