Форма обратной связи ! Помоги мне....

  • Автор темы susanin777
  • 36
  • Обновлено
  • 13, May 2024
  • #1
Всем привет , у меня проблема с контактной формой.... Ι заполните поля контактной формы и нажмите «Отправить». Почта идет нормально, но пусто.

Без каких-либо данных, которые я ввел в поля. Посмотрите мой код. Файл sendemail.php $name = $_POST['имя']; $from = $_POST['электронная почта']; $subject = $_POST['subject']; $message = $_POST['сообщение']; $to = '';//замените на свой адрес электронной почты

$headers = массив();

$headers[] = "MIME-версия: 1.0";

$headers[] = "Тип контента: text/plain; charset=iso-8859-1";

$headers[] = "От: {$name} <{$from}>";

почта($to, $subject, $message, $headers);

умереть;

Html Файл индекса контактов

Αποστολή

Может кто-нибудь найти проблему, пожалуйста?

Спасибо

susanin777


Рег
22 Nov, 2014

Тем
4

Постов
5

Баллов
45
  • 12, Jun 2024
  • #2
У вас здесь много проблем, лишь некоторые из которых связаны с вашей реальной проблемой.

Самый большой недостаток на стороне сервера заключается в том, что вы не смогли понять, как mail() принимает массивы для заголовков в новую эпоху PHP 5. Когда вы используете массив, он должен быть АССОЦИАТИВНЫМ массивом со значением индекса =>. Здесь у вас есть это:
 <form id="mainContactForm" method="post" action="sendemail.php">

<fieldset>

<label>

Your Name<br>

<input type="text" name="name" required><br>

</label><label>

E-Mail Address<br>

<input type="email" name="email" required><br>

</label></label>

Subject<br>

<input type="text" name="subject" required><br>

</label><label>

Message<br>

<textarea rows="6" name="message" required><br>

</label>

</fieldset>

<div class="submitsAndHiddens">

<button>Submit</button>

</div>

</form>
Код (разметка): На самом деле у вас должно быть:
 $headers = [ "MIME-Version" => "1.0", "Content-type" => "text/plain; charset=iso-8859-1", "From" => "{$name} <{$from}>" ]; 
Код (разметка): Я не уверен, что это помешает отправке основного содержимого сообщения, но, учитывая отсутствие индексов в заголовках, это может быть тем, что все портит. Тем не менее, ваш клиентский код — это крушение.

Заполнитель НЕ является тегом LABEL, не делайте этого, вы говорите большому количеству пользователей, чтобы они пошли на ***, независимо от того, сколько вычурных невежд натирают свои трусики из-за этого.

Вам действительно не нужны идентификаторы ни на одном из них, поскольку на них нет меток.

Тип кнопки по умолчанию — «Отправить», большинству ваших классов и DIV просто так нужен топор, и где ваш набор полей? Правильно структурированная форма выглядит примерно так:
  $headers = array(); $headers[] = "MIME-Version: 1.0"; $headers[] = "Content-type: text/plain; charset=iso-8859-1"; $headers[] = "From: {$name} <{$from}>"; 


Код (разметка): Если вам нужно больше классов, возможно, вы делаете что-то не так.

Кроме того, документ имеет UTF-8, как и все современные документы, если это так, то несоответствие кодировки символов при объявлении серверной части ISO-8859-1 может вас испортить.

Я бы также рассмотрел возможность исключения всех этих «переменных для НИЧЕГО», которые вы копируете из $_POST без уважительной причины, и не забудьте проверить КАЖДОЕ значение, даже если mail() теперь обеспечивает определенную степень очистки.
 

Lalka01


Рег
29 Jun, 2015

Тем
1

Постов
2

Баллов
12
Тем
49554
Комментарии
57426
Опыт
552966

Интересно