При нажатии «Отправить» мой браузер переходит в domain.com/contactform.php вместо запуска php

#php #html #forms

#php #HTML #формы

Вопрос:

Я разместил свой веб-сайт через Hostinger. Я вставил PHP-форму на свой веб-сайт для отправки электронного письма с использованием моего почтового идентификатора. Но когда я тестирую эту функцию domainname.com/contactform.php , система показывает пустой экран вместо запуска кода. Я пытался решить свою проблему, но не могу найти свою ошибку. Пожалуйста, помогите!

 <div class="col-md-6 padding">
                            <!-- banner form -->
                            <form action="contactform.php" method="post">
                                <h5 class="mb-3">Register Here</h5> 
                                <div class="form-style-w3ls">
                                    <input placeholder="Your Name" name="name" type="text" required="">
                                    <input placeholder="Your Email Id" name="email" type="email" required="">
                                    <input placeholder="Contact Number" name="number" type="text" required="">
                                    <select>
                                      <option value="0">Business Type</option>
                                      <option value="1">Corporate</option>
                                      <option value="1">Partnership</option>
                                      <option value="1">Other</option>
                                    </select>
                                    <!--<input placeholder="Password" name="password" type="password" required=""> -->
                                    <button Class="btn" name="submit"> Submit</button>
                                    <span>By Registering, You agree to Our <a href="terms.html">Terms amp; Conditions.</a></span>
                                </div>
                            </form>
  

Форма PHP

 <?php 

if (isset($_POST['submit'])) {
    $name = $_POST['name'];
    $MailFrom = $_POST['email'];
    $contactnumber = $_POST['number'];
    $Businesstype = $_POST['type'];

    $mailTo = "care@thecraftedu.com";
    $headers = "From: ".$MailFrom;
    $txt = "You have received an Email from ".$name.".nn".$contactnumber;

    mail($mailTo, $txt, $headers);
    header("Location: index.php?mailsend");
}

?>
  

Комментарии:

1. У вас опечатка header("Location: .... , вы написали hea r der.

2. Привет, Жюльен, я изменил то же самое на сервере, но у него все та же проблема.

3. Попробуйте добавить ini_set('display_errors', '1'); ini_set('display_startup_errors', '1'); error_reporting(E_ALL); в верхней части вашего файла (ниже <?php ), чтобы получить сообщение об ошибке, если таковое имеется. Обратите внимание, что этого никогда не должно быть в рабочей среде, поэтому удалите его, как только выясните проблему.

4. На всякий случай, если вы не заметили, формат почты таков mail($to, $subject, $message, $headers) , что вам, похоже, не хватает либо темы, либо сообщения. Также у вас <select> отсутствует name атрибут (который делает $_POST['type'] недействительным), и есть 3 `<option> со значением 1

5. Привет, Жюльен, это действительно помогло, я пропустил точку с запятой в одной строке, большое вам спасибо. Теперь мой php работает, и он отправляет мне электронное письмо, хотя после нажатия кнопки отправки браузер выдает ошибку 404. что мне делать.