@korax66623

Как создать отправить данные имеющейся формы на сайте на электронку?

ВАЖНО! Сайт пишу на локальном сервере.
На сайте имеется блок формы обратной связи:
html код формы:

<div class="modal-content">
                    <span class="close">×</span>
                    <div class="mailform">
                        <form action="./send.php" method="POST">
                          <div class="row">
                            <div class="col-25">
                              <label for="fio">Ф.И.О.</label>
                            </div>
                            <div class="col-75">
                              <input type="text" id="fio" name="fio" placeholder="Ваше имя.." required>
                            </div>
                          </div>
                          <div class="row">
                            <div class="col-25">
                              <label for="email">Email</label>
                            </div>
                            <div class="col-75">
                              <input type="text" id="email" name="email" placeholder="Ваша электронная почта.." required>
                            </div>
                          </div>
                          <div class="row">
                            <div class="col-25">
                              <label for="telephone">Телефон</label>
                            </div>
                            <div class="col-75">
                              <input type="text" id="telephone" name="telephone" placeholder="Ваш контактный телефон.." required>
                            </div>
                          </div>
                          <div class="row">
                            <div class="col-25">
                              <label for="city">Город</label>
                            </div>
                            <div class="col-75">
                              <input type="text" id="city" name="city" placeholder="Откуда вы?..">
                            </div>
                          </div>
                          <div class="row">
                            <div class="col-25">
                              <label for="subject">Сообщение</label>
                            </div>
                            <div class="col-75">
                              <textarea id="subject" name="subject" placeholder="Напишите здесь Ваш запрос или сообщение.." style="height:200px" required></textarea>
                            </div>
                          </div>
                          <div class="row">
                            <input type="submit" value="Отправить">
                          </div>
                        </form>
                      </div>
                </div>



Используя инструкции из интернетов, я создал файл send.php
Вот так выглядят его внутренности:

<?php
$fio = $_POST['fio'];
$email = $_POST['email'];
$telephone = $_POST['telephone'];
$city = $_POST['city'];
$subject = $_POST['subject'];

$fio = htmlspecialchars($fio);
$email = htmlspecialchars($email);
$telephone = htmlspecialchars($telephone);
$city = htmlspecialchars($city);
$subject = htmlspecialchars($subject);

$fio = urldecode($fio);
$email = urldecode($email);
$telephone = urldecode($telephone);
$city = urldecode($city);
$subject = urldecode($subject);

$fio = trim($fio);
$email = trim($email);
$telephone = trim($telephone);
$city = trim($city);
$subject = trim($subject);

echo $fio;
echo "<br>";
echo $email;

mail("ambar.altai@gmail.com", "Заявка с сайта", "Отправитель: ".$fio". Email: ".$email". Телефон: ".$telephone". Город: ".$city". Сообщение: ".$subject,"From: ambar.altai@gmail.com \r\n");

if mail("ambar.altai@gmail.com", "Заявка с сайта", "Отправитель: ".$fio". Email: ".$email". Телефон: ".$telephone". Город: ".$city". Сообщение: ".$subject,"From: ambar.altai@gmail.com \r\n"))
    {
        echo "Сообщение успешно отправлено";
    } else {
        echo "Ошибка при отправке сообщения";
    }
}?>



К сожалению, у меня нет возможности проверить всё это дело на действующем хостинге. Но при нажатии на кнопку "Отправить" меня кидает в файл с указанным выше php кодом. Я мало знаком с синтаксисом. Возможно ли проверить мой код и дать подсказку новичку, если я допустил ошибку?
  • Вопрос задан
  • 89 просмотров
Пригласить эксперта
Ответы на вопрос 1
visse
@visse
Hacker | Security Researcher | Red Team
Привет.

Если я правильно понял вашу задумку, то вы пропустили шаг с AJAX, чтобы отправка данных осуществлялась по факту нажатия на кнопку сабмита. Также, если работаете на локалхосте, убедитесь, что есть возможность отправлять почту, иначе можете застрять на ровном месте.

З.Ы.: есть бесплатные хостинги с поддержкой PHP, на которых подобные простейшие формы лендингов вполне можно тестировать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы