Як надіслати дані HTML-форми на email за допомогою PHP
Відправка форми на електронну пошту є важливим і поширеним способом спілкування з користувачем веб-ресурсу. Давайте напишемо просту форму для відпправки даних на email за допомогою функції PHP mail(). Наша форма також записуватиме дані у файл на сервері. Код не прив’язаний до жодної CMS і може використовуватися де завгодно. Важливо, щоб на вашому хостингу була включена функція mail().
<?php
if(isset($_POST['spam']) && isset($_POST['submit']) && !$_POST['spam']){
//departure date
$date = date('d-m-Y H:i');
//the value from the name field is limited to 100 characters
$field_name = substr(htmlspecialchars(trim($_POST['name'])), 0, 100);
//the value of the message field is limited to 1000 characters
$field_message = substr(htmlspecialchars(trim($_POST['message'])), 0, 1000);
$to = "user@example.com"; //to
$subject = "Data from the feedback form";
//text of the letter
$msg = "Name: $field_name
\nMessage: $field_message";
$headers = 'From: webmaster@example.com'; // from
mail($to, $subject, $msg, $headers);//send the letter
//create a string to write to the file on the server
$file_msg = "$date Name: $field_name; Message: $field_message;\n";
//write data to file
file_put_contents(__DIR__ . '/mail.txt', $file_msg, FILE_APPEND);
echo '<p>Thank you for your message</p>';
}
?>
<form method="post" action="">
<input type="text" name="name" placeholder="Name*" required>
<textarea name="message" placeholder="Message*" required></textarea>
<input type="hidden" name="spam" value="">
<input type="submit" value="Send" name="submit">
</form>
Відправляємо лист на адресу user@example.com. У значенні “from” бажано вказати поштову скриньку з поточного домену. Дані записуються у файл mail.txt. Поля у формі були встановлені як обов’язкові за допомогою атрибута “required”. Поле “spam” забезпечить захист від спам-ботів, але мінімальний. Обробник форми знаходиться за поточною адресою. Після успішної відправки відображаємо повідомлення подяки.
У вашій реалізації ви можете зберігати дані в базі даних, а не записувати їх у файл. Ви також можете перемістити обробник запитів в окремий файл.
Схожі записи:
-
Як завантажити файли на сервер за допомогою PHP
Завантаження файлів на веб-сайт є звичайним завданням. Розглянемо можливість завантаження файлів на сервер PHP за допомогою методу POST. Для цього знадобиться форма з тип...
-
Як видалити поле «Веб-сайт» з форми коментарів WordPress
За замовчуванням WordPress містить поле «Веб-сайт» або «URL» у формі коментарів. Хоча це може бути корисним у деяких випадках, це часто приваблює спамерів, які залишають ...
-
Ітерація елементів масиву без циклу
Приклади дуже абстрактні, оскільки цикли існують. Наша умова буде такою. Потрібно вибрати всі елементи масиву за заданим атрибутом. Або, якщо сказати точніше, потрібно ві...
Залишити відповідь