Как отправить контактную форму PHP на электронную почту

  • Автор темы Vadim-R
  • 31
  • Обновлено
  • 16, May 2024
  • #1
Привет, я сделал несколько уроков по созданию контактной формы. Но важная часть отсутствует, как мне отправить ее по электронной почте? Код формы PHP, который я сделал, выглядит следующим образом: <голова> <стиль> .error {цвет: #FF0000;} <тело>

// определяем переменные и присваиваем им пустые значения

$nameErr = $emailErr = $genderErr = $websiteErr = "";

$name = $email = $gender = $comment = $website = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") {

если (пустой($_POST["имя"])) {

$nameErr = "Необходимо имя";

} еще {

$имя = $_REQUEST['имя'];

if (!preg_match("/^[a-zA-Z ]*$/",$name)) {

$nameErr = "Разрешены только буквы и пробелы";

}

}

если (пустой($_POST["электронная почта"])) {

$emailErr = "Необходим адрес электронной почты";

} еще {

$email = $_REQUEST['электронная почта'];

if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {

$emailErr = "Неверный формат электронной почты";

}

}

если (пусто($_POST["веб-сайт"])) {

$сайт = "";

} еще {

$вебсайт = $_REQUEST['вебсайт'];

}

если (пустой($_POST["комментарий"])) {

$комментарий = "";

} еще {

$комментарий = $_REQUEST['комментарий'];

}

if (empty($_POST["пол"])) {

$genderErr = "Укажите пол";

} еще {

$пол = $_REQUEST['пол'];

}

}

?>

Пример проверки формы PHP

*обязательное поле необходимо заполнить!. "> Имя: * Электронная почта: * Веб-сайт: Комментарий: Пол: Женский Мужской * echo "

Ваш ввод:

"; echo "Имя:$имя"; эхо " "; echo "Электронная почта:$email"; эхо " "; echo "Веб-сайт: $website"; эхо " "; echo "Комментарий:$комментарий"; эхо " "; echo "Пол: $gender"; ?>

Vadim-R


Рег
28 Jun, 2015

Тем
1

Постов
2

Баллов
12
  • 07, Jun 2024
  • #2
Эта страница контактов... скорее мусор, вот обновленный код, который включает способ отправки электронной почты (однако этот код отправки небезопасен) - это отправная точка:
 

<?php

echo '<!DOCTYPE html>

<html>

<head>

<title>Contact form</title>

<style>

.error,.required {color: #FF0000;}

form {

width: 30em;

}

label {

font-weight: bold;

margin-top: 1em;

display: inline-block;

width: 8em;

}

input, textarea {

margin-top: 1em;

min-width: 60%;

}

input[type=submit] {

margin: 1em auto;

display: block;

}

</style>

</head>

<body>';

$name = (isset($_POST['name'])) ? $_POST['name'] : '';

$email = (isset($_POST['email'])) ? $_POST['email'] : '';

$website = (isset($_POST['website'])) ? $_POST['website'] : '';

$comment = (isset($_POST['comment'])) ? $_POST['comment'] : '';

$gender = (isset($_POST['gender'])) ? $_POST['gender'] : '';

$nameErr = (isset($_POST['submit']) && empty($_POST['name']) ? 'Name is required' : (!preg_match('/^[a-zA-Z ]*$/',$_POST['name']) ? 'Only letters and whitespace allowed' : ''));

$emailErr = (isset($_POST['submit']) && empty($_POST['email']) ? 'Email is required' : (isset($_POST['submit']) && !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) ? 'Invalid email format' : ''));

$genderErr = (isset($_POST['submit']) && empty($_POST['gender']) ? 'Gender is required' : '');

echo '

<h2>PHP Form Validation Example</h2>

<p class="required">* required field must filled in!</p>

<form method="post">

<label for="name">Name: <span class="required">*</span></label>

<input type="text" id="name" name="name" required><br>';

if (!empty($nameErr)) {

echo '<span class="error">'.$nameErr.'</span><br>';

}

echo ' <label for="email">E-mail: <span class="required">*</span></label>

<input type="email" id="email" name="email" required><br>';

if (!empty($emailErr)) {

echo '<span class="error">'.$emailErr.'</span><br>';

}

echo ' <label for="website">Website: </label>

<input type="text" id="website" name="website"><br>

<label for="comment">Comment: </label>

<textarea id="comment" name="comment"></textarea><br>

<label>Gender: <span class="required">*</span></label><br>

<label for="female">Female: </label><input type="radio" id="female" name="gender" value="female"><br>

<label for="male">Male: </label><input type="radio" id="male" name="gender" value="male">';

if (!empty($genderErr)) {

echo '<span class="error">'.$genderErr.'</span><br>';

}

echo '<input type="submit" name="submit" value="Submit">

</form>';

if (isset($_POST['submit']) && empty($nameErr) && empty($emailErr) && empty($genderErr)) {

echo '<h3>Your Input:</h3>

<ul>

<li>Name: '.$name.'</li>

<li>Email: '.$email.'</li>

<li>Website: '.$website.'</li>

<li>Comment: '.$comment.'</li>

<li>Gender: '.$gender.'</li>

</ul>';

$email_recipient = 'insert an email to send it to here';

$subject = 'This was posted';

$message = 'Sender: '.$name.' '.$email;

$message .= 'Website: '.$website;

$message .= 'Comment: '.$comment;

send_mail($email_recipient,$subject,$message,'From: '.$email.'');

}

echo '</body>

</html>';

?>

PHP:
 

n00u


Рег
18 Feb, 2016

Тем
1

Постов
2

Баллов
12
Тем
49554
Комментарии
57426
Опыт
552966