Моя модифицированная почтовая функция php не работает

У меня есть веб-сайт с контактной формой, и форма отправляет данные в мой файл .php с помощью метода POST. Я попробовал очень простой скрипт из учебника, и он отлично работает. Так что мой хост не кажется проблемой. Но как только я изменил базовый скрипт и вставил свои собственные переменные, он перестал работать. Он не показывает никаких синтаксических ошибок, и все свойства «имя» из файла .html верны.

<?php
    if (isset($_POST['sendbtn'])) {
        $to = "[email protected]";
        $name = $_POST['Name'];
        $unternehmen = $_POST['Unternehmen'];
        $strasse = $_POST['Strasse'];
        $hausnummer = $_POST['Hausnummer'];
        $postleitzahl = $_POST['Postleitzahl'];
        $ort = $_POST['Ort'];
        $email = $_POST['Email'];
        $telefonnummer = $_POST['Telefonnummer'];
        $nachricht = $_POST['Nachricht'];
        $einverstaendniserklaerung = $_POST['Einverstaendiserklaerung'];
        $subject = "Das Kontaktformular wurde ausgefüllt";
        $email_body = "Neue Nachricht:\n";

        $email_body .= "Name: $name\n";
        $email_body .= "Unternehmen: $unternehmen\n";
        $email_body .= "Strasse: $strasse\n";
        $email_body .= "Hausnummer: $hausnummer\n";
        $email_body .= "Postleitzahl: $postleitzahl\n";
        $email_body .= "Ort: $ort\n";
        $email_body .= "E-Mail: $email\n";
        $email_body .= "Telefonnummer: $telefonnummer\n";
        $email_body .= "Nachricht: $nachricht\n";
        $email_body .= "Einverstaendniserklaerung: 
                        $einverstaendniserklaerung\n";

        mail($to, $subject, $email_body);
        header("Location: kontakt.html?mailsend");
    }
?>

Вот фрагмент рабочего руководства:

<?php

   if (isset($_POST['sendbtn1'])) {
      $firstName = $_POST['firstName'];
      $lastName = $_POST['lastName'];
      $userName = $_POST['userName'];

      $mailTo = "[email protected]";
      $headers = "From: ".$userName;
      $txt = "Cheese: ".$firstName." ".$lastName."\n\n Ham";

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

он, вероятно, показывает вам 500 в апаче (или другом журнале), возможно, неопределенный член в $_POST.

YvesLeBorg 11.02.2019 18:23

Удалите строку location(… и посмотрите, нет ли ошибки.

jiwopene 11.02.2019 18:24

Можете ли вы выставить «правильно работающий тест», который, как вы сказали, был в порядке? Так что нам есть с чем сравнивать.

TheMouseMaster 11.02.2019 18:24

Хорошо, я добавил фрагмент учебника. и это просто пустая страница, без ошибок. удаление местоположения тоже не работает. Мне интересно, может ли свойство «имя» в html быть чувствительным к регистру, и поэтому оно не работает? я проверю

cepi1993 11.02.2019 18:38

Почтовые заголовки (второй аргумент функции mail()) — это место, где вы размещаете такие вещи, как адрес отправителя и тема письма, явно указывая, какой должна быть каждая строка. Попробуйте заменить строку $subject = "Das Kontaktformular wurde ausgefüllt"; на $headers = "Subject: Das Kontaktformular wurde ausgefüllt\n"; $headers .= "From: [email protected]\n";, а затем изменить вызов почты на mail($to, $headers, $email_body);.

TheMouseMaster 11.02.2019 18:44

Спасибо всем, что нашли время. Я это очень ценю. Я нашел проблему. Это был первый оператор if, который проверял «sendbtn». Я использовал свойство «id» вместо свойства «name» в своем html.

cepi1993 11.02.2019 19:11
Стоит ли изучать 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
6
36
0

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