Форма не передаёт данные в php скрипт

161
15 сентября 2017, 21:58

есть форма следующего вида:

<div class="container">
    <div class="row">
        <div class="col-md-5 col-sm-5">
            <form method="post" action="send_form_email.php">
                <div class="form-group">
                    <label>Name: </label>
                    <input class="form-control" type="text" placeholder="Enter Name" name="name">
                </div>
                <div class="form-group">
                    <label>Email: </label>
                    <input class="form-control" type="text" placeholder="Enter Email" name="email">
                </div>
                <div class="form-group">
                    <label>Message: </label>
                    <textarea class="form-control" placeholder="Enter Message" name="message"></textarea>
                </div>
                <button type="submit" name="sended" class="btn btn-default">Submit</button>
            </form>
        </div>
    </div>
</div>

есть скрипт на php:

<?php
    if(!isset($_POST['sended'])) {
        died("Йуху");
    }
    $name = $_POST['name'];
    $email = $_POST['email'];
    $message = $_POST['message'];
    $masteremail="leshaber24@yandex.ru";
    $html = file_get_contents("./email-inlined.html");
// Массивы с заменой
    $search = array("#name#", "#email#", "#message#");
    $replace = array($name, $email, $message);
    $email_message = str_replace($search, $replace, $html); 
// create email headers
    $headers = 'From: '.$masteremail."\r\n".
    'Reply-To:'.$masteremail."\r\n" .
    'X-Mailer: PHP/' . phpversion();
    $headers .= 'MIME-Version: 1.0'."\r\n";
    $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";   
    mail($masteremail, "письмо из Сакуры", $html, $headers);  
    ?>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <h1>Спасибо за обращение, всё будет хорошо!</h1>

и соотвественно файлик, который отправляется получателю:

<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Письмо с сайта</title>
</head>
<body>
    <div>
        <p>Привет, это письмо от <span>#name#</span></p>
        <p>email на который надо ответить <span>#email#</span></p>
        <p>само сообщение:<br><span>#message#</span></p>
    </div>
</body>
</html>

так вот когда приходит письмо мне на почту, в нём не происходит замены переменных между знаком # на те, которые были введены в форму на сайте.

Answer 1

Попробуйте добавить к полям id, что бы было так:

<input class="form-control" type="text" placeholder="Enter Email" name="email" id="email">
Answer 2

Исправить аргумент в функции отправки таким образом:

mail($mastermail, "письмо из Сакуры", $email_message, $headers);
Answer 3
<input type="submit" value="Отправить" name="sended">

У меня так вот работает отлично. Могу кинуть форму отправки через sockets работает быстрее чем через mail, но сейчас так писать уже не модно. Через ajax и onclick без перезагрузки страницы было бы современнее. и для отправки почты лучше python имхо

READ ALSO
Что с кодом не так? [требует правки]

Что с кодом не так? [требует правки]

Я ввел с клавиатуры число, допустим меньше нуля, и должно быть написано введено не вернои типа console

222
Qt Ошибка symbol(s) not found for architecture

Qt Ошибка symbol(s) not found for architecture

Возникают следующие ошибки при компиляции компилятором Clang из под macOS 1012

198
Вызвано исключение по адресу 0x00EF7738

Вызвано исключение по адресу 0x00EF7738

объясните, в чём ошибка и как исправить

270
Не работает trigger(&#39;click&#39;) для owl-carousel

Не работает trigger('click') для owl-carousel

Зддравствуйте, подскажите пожалуйста, как можно отправить событие нажатия кнопкой мыши для owl-carousel, событие должно быть именно по слайду,...

225