PHP Onsubmit отправить электронное письмо

У меня есть форма, в которой администратор вводит информацию о посетителях, имя, адрес электронной почты и т. д., И я хочу отправить электронное письмо посетителю, используя его адрес электронной почты, указанный в форме.

У меня работает почтовая функция php, но в настоящее время она отправляет только определенному отправителю, которого я указываю вручную. Как сделать так, чтобы кнопка отправки в этой форме отправляла электронное письмо на основе содержимого поля электронной почты?

Я полагаю, мне нужно сделать что-то вроде этого

<?php
$to      = $row['email'];
$subject = 'Welcome ' . $row['first_name'] . ';
$message = 'You have been booked in';
$headers = 'From: [email protected]' . "\r\n" .
    'Reply-To: [email protected]' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
?> 

Я не думаю, что $ row [] верен, поскольку я хочу извлекать данные из формы, а не из таблицы, в которую форма вводит данные.

Это страница формы:

//serve POST method, After successful insert, redirect to customers.php page.
if ($_SERVER['REQUEST_METHOD'] == 'POST') 
{
    //Mass Insert Data. Keep "name" attribute in html form same as column name in mysql table.
    $data_to_store = filter_input_array(INPUT_POST);
    //Insert timestamp
    $db = getDbInstance();
    $last_id = $db->insert ('tb_bookings', $data_to_store);

    if ($last_id)
    {
        $_SESSION['success'] = "Visitor signed in successfully!";
        header('location: bookings.php');
        exit();
    }  
}

//We are using same form for adding and editing. This is a create form so declare $edit = false.
$edit = false;

require_once('includes/admin-header.php'); 
?>
<div id = "page-wrapper">
<div class = "row">
     <div class = "col-lg-12">
            <h2 class = "page-header">Manual Sign-in</h2>
        </div>

</div>
    <form class = "form" action = "" method = "post"  id = "visitor_form" enctype = "multipart/form-data">
       <?php  include_once('../forms/prebook_form.php'); ?>
    </form>
</div>

А это форма:

<fieldset>
    <div class = "form-group">
        <label for = "f_name">First Name *</label>
          <input type = "text" name = "first_name" value = "<?php echo $edit ? $tb_bookings['first_name'] : ''; ?>" placeholder = "First Name" class = "form-control" required = "required" id = "first_name" >
    </div> 

    <div class = "form-group">
        <label for = "l_name">Last name *</label>
        <input type = "text" name = "last_name" value = "<?php echo $edit ? $tb_bookings['last_name'] : ''; ?>" placeholder = "Last Name" class = "form-control" required = "required" id = "last_name">
    </div> 

    <div class = "form-group">
        <label for = "email">Email</label>
            <input  type = "email" name = "email" value = "<?php echo $edit ? $tb_bookings['email'] : ''; ?>" placeholder = "E-Mail Address" class = "form-control" id = "email">
    </div>

    <div class = "form-group">
        <label>Visiting Date</label>
        <input name = "visiting_date" value = "<?php echo $edit ? $tb_bookings['visiting_date'] : ''; ?>"  placeholder = "Visiting Date" class = "form-control"  type = "date">
    </div>

    <div class = "form-group">
        <label>Visiting</label>
        <input name = "visiting" value = "<?php echo $edit ? $tb_bookings['visiting_date'] : ''; ?>"  placeholder = "Who are they visiting?" class = "form-control"  id = "visiting">
    </div>

    <div class = "form-group text-center">
        <label></label>
        <button type = "submit" class = "btn btn-warning" >Save <span class = "glyphicon glyphicon-send"></span></button>
    </div>            
</fieldset>

Я считаю, что вы ищете суперглобальный $_POST при отправке из формы. Или, может быть, ваша переменная $data_to_store, созданная с помощью фильтрации.

IncredibleHat 27.06.2018 15:25

«Как мне получить доступ к данным формы в PHP» - это действительно то, что вы должны уметь прочитать на себе. Этот сайт не заменяет изучение элементарных основ и самостоятельную проработку некоторых руководств для начинающих.

CBroe 27.06.2018 16:38
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
47
1

Ответы 1

может что-то вроде этого ...

if (isset($_POST['submit'])) {

    $to = $_POST['email'];
    $name = $_POST['first_name'];
    $subject = 'Welcome ' . $name;
    $message = 'You have been booked in';
$headers = 'From: [email protected]' . "\r\n" .
    'Reply-To: [email protected]' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

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

}

К сожалению, это ничего не дает. Кажется, это не ссылка на кнопку отправки. Надо ли его где-то конкретизировать?

Rhys Williams 27.06.2018 15:53

Я думаю, вам нужно все, что находится внутри действительного <form action = "" method = "POST"> </form>

kittencornball 27.06.2018 16:30

Другие вопросы по теме