Как подключить html-код к php-коду «контактная форма» - PullRequest
0 голосов
/ 08 октября 2019

Я новичок в программировании, я пытаюсь создать контактную форму, отправить мне письма

Мой вопрос: как мне соединить эти двакоды вместе? Я хочу, чтобы при нажатии кнопки «Отправить» захватить все поля из HTML, а затем использовать код PHP, чтобы отправить электронное письмо самому себе

Это мой файл PHP с именем function.php

<?php
if (isset($_POST['submit'])) {
    $name = $_POST['name'];
    $email = $_POST['email'];
    $message = $_POST['message'];
    $mailTo = "xxxx@xxxx.com";
    $headers = "From: ".$mailFrom;
    $txt = "You have received an e-mail from ".$name.".\n\n".$message;
    mail($mailTo, $subject, $txt, $headers);
    header("Location: index.php?mailsend");
}
?>

Иэто мой HTML-файл с именем index.html

<div class="row">
    <div class="col-lg-12 m-30px-b sm-m-15px-b">
        <div class="contact-form">
            <h4 class="dark-color font-alt m-20px-b">If you need help! feel free to contact me!</h4>
            <form class="contactform" method="post">
                <div class="row">
                    <div class="col-md-6">
                        <div class="form-group">
                            <input id="name" name="name" type="text" placeholder="Name" class="validate form-control" required="">
                                <span class="input-focus-effect theme-bg"></span>
                        </div>
                    </div>
                    <div class="col-md-6">
                        <div class="form-group">
                            <input id="email" type="email" placeholder="Email" name="email" class="validate form-control" required="">
                            <span class="input-focus-effect theme-bg"></span>
                        </div>
                    </div>
                    <div class="col-md-12">
                        <div class="form-group">
                            <textarea id="message" placeholder="Your Comment" name="message" class="form-control" required=""></textarea>
                                <span class="input-focus-effect theme-bg"></span>
                        </div>
                    </div>
                    <div class="col-md-12">
                        <div class="send">
                            <button class="btn btn-theme" type="submit" name="send"> send message</button>                   
                        </div>
                        <span class="output_message"></span>
                    </div>
                </div>
            </form>
        </div>
    </div> <!-- col -->
</div>

1 Ответ

1 голос
/ 08 октября 2019

Вы подключаете форму HTML к скрипту, который обрабатывает ее, используя атрибут action тега <form>. Таким образом, вам нужно изменить

        <form class="contactform" method="post">

на

        <form action="function.php" class="contactform" method="post">

. Без этого он по умолчанию размещается на том же URL-адресе, что и страница, содержащая форму.

Распространенным стилем является использование одного скрипта PHP для создания формы, а также для обработки ввода, поэтому они пропускают этот атрибут, и прочитанное руководство, возможно, приняло этот стиль.

Другая проблема заключается в том, что имя кнопки отправки - name="send", а не name="submit". Поэтому вам нужно изменить

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

на

if (isset($_POST['send']))
...