@fvattsovsky

Делал форму обратной связи, вроде написал все правильно, но выводит ошибку заполните все поля, хотя все заполнил. Как быть?

form  action="send.php">
            <input type="text" name="name" placeholder="Ваше имя" required style="text-align: center; width: 400px; height: 50px; margin-left: 40%;" >
            <br>
            <input type="email" name="email" placeholder="Ваш email" required style="text-align: center; width: 400px; height: 50px; margin-left: 40%;">
            <br>
            <input type="phone" name="phone" placeholder="Ваш телефон" required style="text-align: center; width: 400px; height: 50px; margin-left: 40%;">
            <br>
            <input class="form_sub" name="sub" type="submit" value="ОТПРАВИТЬ" style="text-align: center; width: 408px; height: 50px; margin-left: 40%;">
          </form>
         <div id="erconts"> </div>

<?php

$name = $_POST["name"];
$email = $_POST["email"];
$tel = $_POST["phone"];

if($name=="" or $email=="" or $tel==""){
    echo "Заполните все поля";
}

else{

    $to = "ffff@gmail.com"; /* Адрес, куда отправляем письма*/
    $subject = "Письмо с обратной связи"; /*Тема письма*/
    $headers = "MIME-Version: 1.0\r\n";
    $headers .= "Content-type: text/html; charset=utf-8\r\n";
    $headers .= "From: <test@mail.ru>\r\n";/*ОТ КОГО*/

    $message .= "Имя пользователя: ".$name."\n";
    $message .= "Почта: ".$email."\n";
    $message .= "Телефон: ".$tel."\n";

    //print_r($message);

    $send = mail($to, $subject, $message, $headers);

    if ($send == "true")
    {
        echo "<p style='color: green;'>Ваше сообщение отправлено. Мы ответим вам в ближайшее время.\r\n</p>";
    }
  
    else
    {
        echo "<p style='color: red;'>Не удалось отправить, попробуйте снова!</p>";
    }
}
?>
  • Вопрос задан
  • 93 просмотра
Решения вопроса 1
@alexalexes
<form action="send.php">
...
</form>

Вы не указали метод отправки POST, соответственно, ваши переменные формы нужно искать в методе GET.
<form action="send.php" method="POST">
...
</form>

Чтобы убедиться в этом:
echo "GET:";
var_dump($_GET);
echo "POST:";
var_dump($_POST);
exit();
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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