Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
2 / 2 / 2
Регистрация: 03.04.2016
Сообщений: 75

Как сделать правильное от отображение формы обратной связи?

03.04.2016, 13:36. Показов 1146. Ответов 2

Студворк — интернет-сервис помощи студентам
Добрый день! Недавно у меня возникли проблемы с формой обратной связи - сообщения не приходили. Сайт я делал в Adobe Muse.
Написал в поддержку хостинга, там мне сказали что нужно
HTML5
1
Content-type: text/html
заменить на
HTML5
1
Content-type: text/plain
Я заменил, и форма стала работать, но сообщения приходят на почту ужасного вида.
Изначально форма имела такой вид ( я укажу лишь участок кода, чтобы внимание не распылять ваше внимание, так как я думаю проблема именно в этом участке :
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$to = 'london@asiris.esy.es';
  $subject = 'Home';
 
  $message = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/plain ;charset=UTF-8"/><title>' . htmlentities($subject,ENT_COMPAT,'UTF-8') . '</title></head>';
  $message .= '<body style="background-color: #ffffff; color: #000000; font-style: normal; font-variant: normal; font-weight: normal; font-size: 12px; line-height: 18px; font-family: helvetica, arial, verdana, sans-serif;">';
  $message .= '<h2 style="background-color: #eeeeee;">Отправка новой формы</h2><table cellspacing="0" cellpadding="0" width="100%" style="background-color: #ffffff;">'; 
  $message .= '<tr><td valign="top" style="background-color: #ffffff;"><b>Имя:</b></td><td>' . htmlentities($_REQUEST["custom_U412"],ENT_COMPAT,'UTF-8') . '</td></tr>';
  $message .= '<tr><td valign="top" style="background-color: #ffffff;"><b>Электронная почта:</b></td><td>' . htmlentities($_REQUEST["Email"],ENT_COMPAT,'UTF-8') . '</td></tr>';
  $message .= '<tr><td valign="top" style="background-color: #ffffff;"><b>Сообщение:</b></td><td>' . htmlentities($_REQUEST["custom_U417"],ENT_COMPAT,'UTF-8') . '</td></tr>';
 
  $message .= '</table><br/><br/>';
  $message .= '<div style="background-color: #eeeeee; font-size: 10px; line-height: 11px;">Формы, отправленные с веб-сайта: ' . htmlentities($_SERVER["SERVER_NAME"],ENT_COMPAT,'UTF-8') . '</div>';
  $message .= '<div style="background-color: #eeeeee; font-size: 10px; line-height: 11px;">IP-адрес посетителя: ' . htmlentities($_SERVER["REMOTE_ADDR"],ENT_COMPAT,'UTF-8') . '</div>';
  $message .= '</body></html>';
  $message = cleanupMessage($message);
  
  $formEmail = cleanupEmail($_REQUEST['Email']);
  $headers = 'From:  london@asiris.esy.es' . "\r\n" . 'Reply-To: ' . $formEmail .  "\r\n" .'X-Mailer: Adobe Muse 7.2.232 with PHP/' . phpversion() . "\r\n" . 'Content-type: text/plain ; charset=utf-8' . "\r\n";
Когда сообщение приходило на почту, оно имело такой вид :


Потом я немного решил подредактировать код и сократил его до такого состояния : ( это тоже только часть кода, так как я думаю проблема именно здесь. )
PHP
1
2
3
4
5
6
7
8
9
10
$to = 'london@asiris.esy.es';
  $subject = 'Home';
 
  $message .= 'Имя: '.htmlentities($_REQUEST["custom_U412"],ENT_COMPAT,'UTF-8').
  $message .= 'Электронная почта: '.htmlentities($_REQUEST["Email"],ENT_COMPAT,'UTF-8').
  $message .= 'Сообщение: '.htmlentities($_REQUEST["custom_U417"],ENT_COMPAT,'UTF-8').
  $message = cleanupMessage($message);
  
  $formEmail = cleanupEmail($_REQUEST['Email']);
  $headers = 'From:  london@asiris.esy.es' . "\r\n" . 'Reply-To: ' . $formEmail .  "\r\n" .'X-Mailer: Adobe Muse 7.2.232 with PHP/' . phpversion() . "\r\n" . 'Content-type: text/plain ; charset=utf-8' . "\r\n";
И теперь сообщения имеют такой вид :


Видно, что сообщение в графе "сообщение" дублируется несколько раз. Как исправить данную проблему?
Заранее благодарю за ответ!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.04.2016, 13:36
Ответы с готовыми решениями:

Как отправлять формы обратной связи
Добрый день. Тут вот такая проблема у меня. Формы обратной связи с использование js работают на обычных хостингах, а на VPS нет. Что вы...

Идёт спам с формы обратной связи. Как исправить?
Всем привет! Есть такой сайтик : http://oprteam.ru/ На нём 17 форм обратной связи. Все формы имеют одинаковый обработчик, за...

Как сделать форму обратной связи
Форма обратной связи предоставляет возможность пользователям сайта отправлять сообщения владельцам сайта. Все данные введенные...

2
Hello Kitty
 Аватар для WhiteMind
690 / 562 / 402
Регистрация: 12.02.2016
Сообщений: 1,436
Записей в блоге: 1
03.04.2016, 16:47
приведите весь код
0
2 / 2 / 2
Регистрация: 03.04.2016
Сообщений: 75
03.04.2016, 17:48  [ТС]
Вот какой код на данный момент
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php 
 
require_once('form_throttle.php');
 
if ($_SERVER['REQUEST_METHOD'] == 'POST') 
{
    if (formthrottle_too_many_submissions($_SERVER["REMOTE_ADDR"]))
    {
        echo '{"MusePHPFormResponse": { "success": false,"error": "Too many recent submissions from this IP"}}';
    } 
    else 
    {
        emailFormSubmission();
    }
} 
 
function emailFormSubmission()
{
    $to = 'london@asiris.esy.es';
    $subject = 'Home';
    
    
    $message .= 'Имя:'.htmlentities($_REQUEST["custom_U412"],ENT_COMPAT,'UTF-8').
    $message .= 'Электронная почта:'.htmlentities($_REQUEST["Email"],ENT_COMPAT,'UTF-8').
    $message .= 'Сообщение:'.htmlentities($_REQUEST["custom_U417"],ENT_COMPAT,'UTF-8').
    
    $formEmail = cleanupEmail($_REQUEST['Email']);
    $headers = 'From:  london@asiris.esy.es' . "\r\n" . 'Reply-To: ' . $formEmail .  "\r\n" .'X-Mailer: Adobe Muse 7.2.232 with PHP/' . phpversion() . "\r\n" . 'Content-type: text/plain ; charset=utf-8' . "\r\n";
    
    $sent = @mail($to, $subject, $message, $headers);
    
    if($sent)
    {
        echo '{"FormResponse": { "success": true}}';
 
    }
    else
    {
        echo '{"MusePHPFormResponse": { "success": false,"error": "Failed to send email"}}';
    }
}
 
function cleanupEmail($email)
{
    $email = htmlentities($email,ENT_COMPAT,'UTF-8');
    $email = preg_replace('=((<CR>|<LF>|0x0A/%0A|0x0D/%0D|\\n|\\r)\S).*=i', null, $email);
    return $email;
}
 
function cleanupMessage($message)
{
    $message = wordwrap($message, 70, "\r\n");
    return $message;
}
?>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.04.2016, 17:48
Помогаю со студенческими работами здесь

Как сделать проверку ввода текста в обратной связи?
Имеется обратная связь: &lt;?php /* Здесь проверяется существование переменных */ if (isset($_POST)) {$name = $_POST;} if...

Как сделать чтобы форма обратной связи пустой не отправлялась?
Как сделать чтобы форма обратной связи пустой не отправлялась? Вот код формы которая есть: &lt;?php $sendto =...

Как сделать чтобы форма обратной связи не отправлялась пустой и показывался IP отправителя?
Как сделать чтобы форма обратной связи пустой не отправлялась в телеграм и показывался IP отправителя?Сначало все работало,но потом...

Как сделать отправку красивого ответного письма через форму обратной связи?
Здравствуйте, Волнует вопрос, не могу найти ответ. Почему письмо приходит в виде обычного текста объяснять не нужно, т.к. сам это знаю....

Формы обратной связи?
Здравствуйте, помогите пожалуйста создать две формы обратной связи! Чтобы благодаря первой, посетитель мог отправить только свой адрес...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru