@Iliyaity

Как отправить форму обратной связи?

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

Форма Приходит вот в таком виде:

Имя: 89273167106
Телефон:
Email: test@gmail.com

Сообщение:
telefon

<form class="contact-form" action="mailer.php" method="post">

<div class="row">

  <?php
      <div class="form-messages success">
        Спасибо! Ваше сообщение было отправлено
      </div>

    <!--  <div class="form-messages success">
        Что-то пошло не так.Пожалуйста, попробуйте еще раз.
      </div>
-->

?>
      </div>
        <div class="row">
          <div class="col span-1-of-3">
              <label for="name">Имя</label>
          </div>
          <div class="col span-2-of-3">
            <input id ='name' type="text" name="name" placeholder="ваше имя" required>
          </div>

        </div>


        <div class="row">
          <div class="col span-1-of-3">
              <label for="phone">Телефон</label>
          </div>
          <div class="col span-2-of-3">
            <input id ='phone' type="phone" name="phone" placeholder="телефон" required>
          </div>

        </div>

        <div class="row">
          <div class="col span-1-of-3">
              <label for="email">Email</label>
          </div>
          <div class="col span-2-of-3">
            <input id ='email' type="email" name="email" placeholder="Email" required>
          </div>

        </div>

        <div class="row">
          <div class="col span-1-of-3">
              <label for="">Как вы узнали о нас?</label>
          </div>
          <div class="col span-2-of-3">
            <select class="find-us" id = 'find-us'>
              <option value="friends" selected>Друзья</option>
              <option value="search">Поисковик</option>
              <option value="search">Реклама</option>
              <option value="other">Другое</option>
            </select>
          </div>

        </div>

        <div class="row">
          <div class="col span-1-of-3">
              <label>Новостная рассылка</label>
          </div>
          <div class="col span-2-of-3">
            <input id ='news' type="checkbox" name="news" checked > Да, согласен
          </div>

        </div>

        <div class="row">
          <div class="col span-1-of-3">
              <label>Сообщение</label>
          </div>
          <div class="col span-2-of-3">
            <textarea name="message" placeholder="Сообщение"></textarea>
          </div>

        </div>

        <div class="row">
          <div class="col span-1-of-3">
              <label>&nbsp;</label>
          </div>
          <div class="col span-2-of-3">
            <input type ='submit' value = 'Отправить' >
          </div>

        </div>
    </form>


<?php

    // Назначаем переменные для отправки
    $phone = $_POST["phone"];
    $name = strip_tags(trim($_POST["name"]));
    $name = str_replace(array("\r","\n"),array(" "," "),$name);
    $email = filter_var(trim($_POST["email"]), FILTER_SANITIZE_EMAIL);
    $message = trim($_POST["message"]);

//Куда будет отправляться
    $recipient = "test@gmail.com";

//Заголовок сообщения
    $subject = "Новое сообщение $name";

    $email_content  = "Имя: $name\n";
    $email_content  .= "Телефон: $phone\n";
    $email_content .= "Email: $email\n\n";
    $email_content .= "Сообщение:\n$message\n";

    $email_headers = "От: $name <$email>";

    mail($recipient, $subject, $email_content, $email_headers);

?>
  • Вопрос задан
  • 212 просмотров
Решения вопроса 1
@matios
Technical Team Lead
Сделайте
var_dump($_POST); exit;

Посмотрите, какие данные приходят с формы. Затем инспектируйте остальные переменные. Так и найдете в чем причина
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
zooks
@zooks
Frontend
Нет такого значения атрибута как type="phone" есть type="tel".
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы