Когда я нажимаю «Отправить», он открывает файл php вместо его запуска и отправки почты. - PullRequest
0 голосов
/ 28 марта 2020

Так что, когда я нажимаю «Отправить», он открывает браузер с кодом. Что я могу сделать? Я смотрел много видео на YouTube, но не могу понять. Я загрузил wampp, установил путь, но он все равно не работает. Это первый раз, когда я использовал php, поэтому у меня нет никакого опыта с ним. Не могли бы вы мне помочь? Это последний шаг к заполнению моего портфолио.

Домашняя страница. html:

<form action="contactform.php" method="POST">
    <div class="row">
        <div class="col-xl-6 col-lg-6 col-md-12 col-sm-12 col123 col12">
            <label for="">First Name </label>
            <input type="text" name="fname" required>
        </div>
        <div class="col-xl-6 col-lg-6 col-md-12 col-sm-12 col123 col12">
            <label for="">Last Name </label>
            <input type="text" name="sname" required>
        </div>
        <div class="col-xl-6 col-lg-6 col-md-12 col-sm-12 col123 col12">
            <label for="">Email</label>
            <input type="email" name="email" required>
        </div>
        <div class="col-xl-6 col-lg-6 col-md-12 col-sm-12 col123 col12">
            <label for="">Phone Number</label>
            <input type="number" name="number" required>
        </div>
        <div class="col-lg-12 col-xl-12 col-md-12 col-sm-12 col123">
            <label for="">Message</label>
            <textarea name="message" id="" style="resize: vertical;"
                placeholder="Write your message here ... " required></textarea>
        </div>
        <div class="col-lg-12 col-xl-12 col-md-12 col-sm-12 col44">
            <button type="submit" name="send" role="button" id="button">
                Send
            </button>
        </div>
    </div>
</form>

contactform. php:

<?php

if(isset($_POST["send"])){
    $fname = $_POST['fname'];
    $sname = $_POST['sname'];
    $number = $_POST['number'];
    $mailFrom = $_POST['mail'];
    $message = $_POST['message'];

    $mailTo = "bogdybogdan34@gmail.com";
    $headers = "From: ".$mailFrom;
    $txt = "You have received and e-mail from ".$sname."\n".$number."\n\n".$message;

    mail($mailTo , $txt , $headers);
    header("Location: homepage.html?mailsend");
}
?>

1 Ответ

0 голосов
/ 28 марта 2020

Во-первых, если вы используете wampp, как вы сказали, вам нужно настроить почтовый сервер, который, конечно, предполагает, что вы запускаете его на localhost, если он находится на онлайн-сервере, убедитесь, что функция mail включена в вашем cpanel.

Теперь вернемся к вашему коду, похоже, он возвращает

HTTP ERROR 405

A 405 Method Not Allowed Error - это код состояния ответа HTTP, который указывает на веб браузер запросил доступ к одной из ваших веб-страниц, а ваш веб-сервер получил и распознал его метод HTTP. Но, к сожалению, ваш сервер решил отклонить указанный HTTP-метод c, поэтому веб-браузер не может получить доступ к запрашиваемой веб-странице. Чтобы решить эту проблему, вам нужно увидеть изменение настроек SMTP в файле php .ini. Вот учебник отправка почты на localhost , затем попробуйте отправить письмо еще раз. если это не работает, рассмотрите другие веб-серверы, такие как xampp или попробуйте отправлять электронные письма, используя библиотеки, такие как PHP MAILER , это действительно удобно для начинающих

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...