С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
3 / 3 / 0
Регистрация: 14.01.2021
Сообщений: 42

Обработка формы method: 'POST'

29.08.2021, 15:55. Показов 3867. Ответов 22

Студворк — интернет-сервис помощи студентам
Всем привет. Пытаюсь прикрутить к сайту функционал на отправку сообщения в почту с HTML страницы. Вроде все сделал по туториалу. Но получаю статус 500. Помогите пожалуйста разобраться.

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
<?php
 
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
 
require 'phpmailer/src/Exception.php';
require 'phpmailer/src/PHPMailer.php';
 
$mail = new PHPMailer(true);
$mail->CharSet = 'UTF-8';
$mail->setLanguage('ru', 'phpmailer/language/');
$mail->IsHTML(true);
 
// от кого письмо
$mail->setForm('a.perekrestov@yandex.ru', 'заявка');
// кому отправить
$mail->addAddress('a.perekrestov@gmail.com');
// тема письма
$mail->Subject = 'Привет! Это заявка с нашего сайта идомик.рф';
 
// обработчик фрмы
$body = '<h1>Встречайте заявочку:</h1>';
if(trim(!empty($_POST['name']))) {
    $body.='<p><strong>Имя:</strong> '.$POST['name'].'</p>'; 
}
if(trim(!empty($_POST['email']))) {
    $body.='<p><strong>Email:</strong> '.$POST['email'].'</p>'; 
}
if(trim(!empty($_POST['message']))) {
    $body.='<p><strong>Сообщение:</strong> '.$POST['message'].'</p>'; 
}
$mail->Body = $body;
 
// отправляем
if(!$mail->send()) {
    $message = 'Ошибка';
} else {
    $message = 'Данные отправлены';
}
 
$response = ['message' => $message];
 
header('Content-type: application/json');
echo json_decode($response);
?>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
async function formSend(e) {
 e.preventDefault()
 let error = formValidate(form)
 let formData = new FormData(form)
 if (error === 0) {
  let response = await fetch('sendmail.php', {
   method: 'POST',
   body: formData
  })
  if (response.ok) {
   let result = await response.json()
   alert(result.message)
   form.reset()
  }
 }
}
Миниатюры
Обработка формы method: 'POST'  
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.08.2021, 15:55
Ответы с готовыми решениями:

Создание формы с method ='post'
Создайте форму с method=”post”. В форме должны быть текстовая область и кнопка. В обработчике необходимо принять строку из текстовой...

Подставить значение и перенаправить запрос (Post-Method) вместо кнопки формы
Уважаемые коллеги. Прошу помощи: Есть рабочий исх. код: &lt;html&gt; &lt;head&gt; &lt;title&gt;Перевірка сертифікатів УЦОЯО 2008-2010...

method='post'
&lt;form action='./login.php' method='post'&gt; &lt;table class='loginform'&gt; &lt;tr&gt; &lt;td class='login'&gt;Логин&lt;/td&gt; &lt;td class='login'&gt;&lt;input...

22
3 / 3 / 0
Регистрация: 14.01.2021
Сообщений: 42
29.08.2021, 16:03  [ТС]
возможно ли такое, что 15 строке PHP необходимо указывать почту, которая работает на домене?

Добавлено через 6 минут
Нашел опечатку в этой самой 15 строке: setFrom Ошибка изменилась на 405
0
Невнимательный
 Аватар для ft4l
2840 / 1268 / 358
Регистрация: 08.02.2013
Сообщений: 7,391
Записей в блоге: 2
29.08.2021, 16:39
Лучший ответ Сообщение было отмечено PereCC как решение

Решение

Цитата Сообщение от PereCC Посмотреть сообщение
PHP
43
44
header('Content-type: application/json');
echo json_decode($response);
json_encode() должно-бы быть
0
3 / 3 / 0
Регистрация: 14.01.2021
Сообщений: 42
29.08.2021, 17:20  [ТС]
x_lab, ай спасибо!

Добавлено через 36 минут
x_lab, писмо приходит но без данных которые добавляли в самой форме. В тело письма попадает только Встречайте заявочку:
Может ли это быть связано с привязкой id объектов формы со скриптом PHP ?

HTML5
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
<form id="form" class="feedback-form">
                <div class="feedback-form__input-container input-container-half-width">
                    <input id="email-footer__client-name" class="feedback-form__input __req __name" type="text"
                        placeholder=" " />
                    <label for="email-footer__client-name" class="feedback-form__placeholder">Ваше
                        имя</label>
                </div>
                <div class="feedback-form__input-container input-container-half-width">
                    <input id="email-footer__client-email-address" class="feedback-form__input __req __email"
                        type="text" placeholder=" " />
                    <label for="email-footer__client-email-address" class="feedback-form__placeholder">Email</label>
                </div>
                <div class="feedback-form__input-container">
                    <textarea id="email-footer__message"
                        class="feedback-form__input feedback-form__input-message  __req __message" cols="100500"
                        placeholder=" "></textarea>
                    <label for="email-footer__message" class="feedback-form__placeholder">Сообщение</label>
                </div>
                <div class="feedback-form__checkbox-container">
                    <input id="email-footer__checkbox" type="checkbox" checked class="input __req __chackbox">
                    <label for="email-footer__checkbox" class="label">Даю согласие на обработку персональных
                        данных</label>
                </div>
                <button type="submit" class="feedback-form__btn">
                    Отправить
                    <svg width="14" height="12" viewBox="0 0 14 12" fill="none" xmlns="http://www.w3.org/2000/svg">
                        <path
                            d="M0.890407 4.73408C4.95661 2.94524 10.2186 0.764284 10.9449 0.462425C12.8503 -0.327651 13.4349 -0.176236 13.1434 1.57345C12.9341 2.83104 12.33 6.99463 11.8486 9.58615C11.5629 11.123 10.922 11.3051 9.91416 10.6402C9.4295 10.3203 6.98324 8.70258 6.45232 8.32274C5.96766 7.97656 5.29924 7.56017 6.13752 6.74C6.43582 6.44785 8.39127 4.58072 9.91481 3.12739C10.1144 2.93651 9.86369 2.623 9.63333 2.77603C7.57985 4.1378 4.73273 6.0279 4.37036 6.27411C3.82294 6.64585 3.29719 6.81636 2.35344 6.54523C1.64036 6.34044 0.94379 6.09617 0.672667 6.00299C-0.371385 5.64451 -0.123557 5.18023 0.890407 4.73408Z" />
                    </svg>
                </button>
            </form>
мы в скрипте PHP проверяем if(trim(!empty($_POST['name']))) {
$body.='<p><strong>Имя:</strong> '.$POST['name'].'</p>';
}
Но может вместо 'name' необходимо указать id из моей формы?
0
193 / 140 / 36
Регистрация: 19.11.2020
Сообщений: 881
29.08.2021, 17:50
Цитата Сообщение от PereCC Посмотреть сообщение
Но может вместо 'name' необходимо указать id из моей формы?
Вам надо name задать компонентам в html.


Вы вообще F12 в браузере прожимаете ? Что бы понимать что уходит к скрипту.


От куда вообще у вас взялся $_POST['email'] ???? Точнее email, который нигде в html не прописан в качестве имени.

Добавлено через 1 минуту
Цитата Сообщение от PereCC Посмотреть сообщение
if(trim(!empty($_POST['name']))) {
И правильно написать так

PHP
1
if(isset($_POST[$key]) && !empty(trim($_POST['name']))) {
Добавлено через 5 минут
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$ListError = [];
 
$body = '<h1>Встречайте заявочку:</h1>';
foreach([
    'name' => 'Имя',
    'email' => 'Email',
    'message' => 'Сообщение'
] as $key => $value) {
    if(isset($_POST[$key]) && !empty(trim($_POST[$key]))) {
        $body .= '<p><strong>' . $value . ':</strong> ' . $_POST[$key] .'</p>'; 
    } else {
        $ListError[] = $key;
    }
}
if(count($ListError)) {
    echo 'Скрипт прекратил работу. Недостаточно аргументов: ' . implode(',', $ListError);
    exit;
}
1
3 / 3 / 0
Регистрация: 14.01.2021
Сообщений: 42
30.08.2021, 18:41  [ТС]
OpXiv, добавил имена к полям формы name="name" name="email" name="message", отправляю данные при проверке данные отправляются. Но в PHP значение поля оказывается NULL. С чем может быть связано?
0
Заблокирован
30.08.2021, 19:38
PereCC, чудес не бывает. Вызовите консоль браузера и проверьте на вкладке NetWork после того, как отправите пост. Там будут видны все переменные массива POST
Миниатюры
Обработка формы method: 'POST'  
1
Невнимательный
 Аватар для ft4l
2840 / 1268 / 358
Регистрация: 08.02.2013
Сообщений: 7,391
Записей в блоге: 2
30.08.2021, 19:45
Попробуйте добавить что-то поинформативнее, для проверки, чем
Цитата Сообщение от PereCC Посмотреть сообщение
PHP
35
36
37
38
39
if(!$mail->send()) {
    $message = 'Ошибка';
} else {
    $message = 'Данные отправлены';
}
Например что-то вроде
PHP
1
2
3
4
5
6
if(!$mail->send()) {
    $message = 'Ошибка';
} else {
    $message = 'Данные отправлены';
}
$message .= '<pre>$_POST = ' . var_export($_POST, 1) ."\n</pre>";
... хотя вроде в alert() теги никак не интерпретирует

Добавлено через 2 минуты
Цитата Сообщение от Camy Посмотреть сообщение
будут видны все переменные массива POST
Или так ))
0
3 / 3 / 0
Регистрация: 14.01.2021
Сообщений: 42
30.08.2021, 20:17  [ТС]
Camy, Спасибо за совет, буду знать где смотреть переменные отправленного массива. И, по-моему, там ничего не появляется. Но я чайник и могу ошибаться. Если есть возможность посмотрите: http://idomic.perekrestov.ru/ И если там ничего действительно не появляется в чем тогда ошибка?

Добавлено через 3 минуты
x_lab,
PHP
1
$message .= '<pre>$_POST = ' . var_export($_POST, 1) ."\n</pre>";
Скрипт возвращает данные, вписанные в поля. То есть поля не пустые
0
Заблокирован
30.08.2021, 20:55
Цитата Сообщение от PereCC Посмотреть сообщение
И, по-моему, там ничего не появляется.
Появляется.
Миниатюры
Обработка формы method: 'POST'  
1
3 / 3 / 0
Регистрация: 14.01.2021
Сообщений: 42
30.08.2021, 20:57  [ТС]
Camy, спасибо за скриншоты, а вот письмо приходит пустое
Миниатюры
Обработка формы method: 'POST'  
0
Заблокирован
30.08.2021, 21:06
Цитата Сообщение от PereCC Посмотреть сообщение
письмо приходит пустое
Попробуйте отправить методом mail(). Ну, или создайте текстовый файл на сервере с доступом 0777 и запишите данные которые пытаетесь отправить в письме.
0
Невнимательный
 Аватар для ft4l
2840 / 1268 / 358
Регистрация: 08.02.2013
Сообщений: 7,391
Записей в блоге: 2
30.08.2021, 21:14
Цитата Сообщение от PereCC Посмотреть сообщение
поля не пустые
Я так понимаю Вы решили не переделать на тот код , который предложил OpXiv

Примерно так работает , тоже с !empty(trim( вместо trim(!empty(
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
cat <<\x | /c/srv/usr/php74/php
<?php
$_POST = ["name"=>' xxxx ', "email"=>'xxxx@xxx.xx', "message"=>'  xmessagex '];
$body = '<h1>Встречайте заявочку:</h1>';
if(!empty(trim($_POST['name']))) {
    $body.='<p><strong>Имя:</strong> '.$_POST['name'].'</p>';
}
if(!empty(trim($_POST['email']))) {
    $body.='<p><strong>Email:</strong> '.$_POST['email'].'</p>';
}
if(!empty(trim($_POST['message']))) {
    $body.='<p><strong>Сообщение:</strong> '.$_POST['message'].'</p>';
}
 
var_export($body);
?>
x
'<h1>Встречайте заявочку:</h1><p><strong>Имя:</strong>  xxxx </p><p><strong>Email:</strong> xxxx@xxx.xx</p><p><strong>Сообщение:</strong>   xmessagex </p>'
В Вашем коде вместо $_POST используется $POST

Но если-что такой способ отправит письмо даже если не передано ни одно значение
или например email бывает нужно проверять на валидность
или ограничивать размер каких-либо из данных
или ограничивать частоту отправки писем одним и тем-же пользователем
или что-то ещё .)
Вобщем обдумайте как оно должно быть ,) кроме Вас некому решать что допустимо а что нет

Добавлено через 5 минут
Цитата Сообщение от PereCC Посмотреть сообщение
let error = formValidate(form)
это работает только на клиенте.
Но какой-нибудь бот, или ещё что-то, может минуя JS просто напрямую слать POST запросы
так-же просто GET может вызывать ошибки т.к. не передано в $_POST
0
3 / 3 / 0
Регистрация: 14.01.2021
Сообщений: 42
30.08.2021, 21:31  [ТС]
x_lab, код который предложил OpXiv я не смог заставить работать, поэтому решил остаться с кодом из туториала. Добавил Ваш код в скрипт, письмо получил с данными, которые указаны в 3-й строке:
PHP
1
$_POST = ["name"=>' xxxx ', "email"=>'xxxx@xxx.xx', "message"=>'  xmessagex '];
хотя в форме записал другие значения, проинспектировал данные запроса в среде разработки браузера. Но к сожалению я не могу догадаться как передаваемые данные от клиента привязать к переменной $body
0
Невнимательный
 Аватар для ft4l
2840 / 1268 / 358
Регистрация: 08.02.2013
Сообщений: 7,391
Записей в блоге: 2
30.08.2021, 22:00
Цитата Сообщение от PereCC Посмотреть сообщение
код в скрипт
Это был код не для вставки в скрипт )) это я массив объявил чтобы в консоли показать какой вывод.
и то что несмотря на trim пробелы с краёв не убираются, trim только для проверок используется

Добавлено через 15 минут
Цитата Сообщение от x_lab Посмотреть сообщение
или что-то ещё .
Ещё XSS , типа JS-код какой-нибудь,
вроде как-то в html-письмах некоторые клиенты читающие эти письма могут выполнять
0
3 / 3 / 0
Регистрация: 14.01.2021
Сообщений: 42
30.08.2021, 22:13  [ТС]
x_lab, тут дело в том что я не могу без любых проверок и настроек безопасности просто привязать данные из формы сайта и передать их почтовой программе. Сейчас для меня в этом проблема. Безусловно Вы правы на счет остальных недочетов. Но помогите просто корректно получить данные из формы клиента чтобы их записать в переменную $body и отдать ее дальше $mail->Body = $body;
0
Невнимательный
 Аватар для ft4l
2840 / 1268 / 358
Регистрация: 08.02.2013
Сообщений: 7,391
Записей в блоге: 2
30.08.2021, 23:46
Цитата Сообщение от PereCC Посмотреть сообщение
отдать ее дальше $mail->Body = $body;
Я если честно никогда даже не пробовал эту библиотеку PHPMailer\PHPMailer\PHPMailer
... понятия не имею что она может и как она делает
При отправке писем без неё куча заморочек ещё может добавляться
... типа максимальная длинна строки без переносов...
... темы типа '=?UTF-8?B?' . base64_encode('Текст') . '?='
...
Я просто о том что минимум это что-то такое например
PHP
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
56
57
58
// обработчик фрмы
$ListError = [];
$ok = 0;
if ($_SERVER['REQUEST_METHOD'] == 'POST') do {
    if (!isset($_POST['name'], $_POST['email'], $_POST['message'])) {
        $ListError[] = 'Заполните и отправьте форму';
        break;
    }
    if (!filter_var($_POST['email'] = trim($_POST['email']), FILTER_VALIDATE_EMAIL))
        $ListError[] = 'Полученный Email "'
            . filter_var($_POST['email'],FILTER_SANITIZE_EMAIL)
            .'" не прошёл проверку на соответствие.';
    foreach(['name' => 'Имя','message' => 'Сообщение'] as $key => $value) {
        $_POST[$key] = trim(filter_var($_POST[$key], FILTER_SANITIZE_FULL_SPECIAL_CHARS,
                                                FILTER_FLAG_NO_ENCODE_QUOTES));
        if (empty($_POST[$key]))
            $ListError[] = 'Поле '. $value .' не должно быть пустым.';
    }
    if ($ListError) break;
    $body = '<h1>Встречайте заявочку:</h1>'
        . '<p><strong>Имя:</strong> '.$POST['name'].'</p>'
        .'<p><strong>Email:</strong> '.$POST['email'].'</p>'
        .'<p><strong>Сообщение:</strong> '.$POST['message'].'</p>';
    $mail->Body = $body;
    $ok = 1;
} while(0);
 
if ($ListError)
    $message = "Полученные данные не корректны\n". implode("\n", $ListError) ."\n";
elseif (!$ok)
    $message = "Не получены данные\n";
elseif (!$mail->send())
    $message = "Ошибка отправки\n";
else 
    $message = 'Данные отправлены';
 
header('Content-type: application/json');
echo json_encode( ['message' => $message] );
Со своим do{} while(0); как обычно можете сделать без
возможно с try-catch ... возможно и эта библиотека заточена под try-catch
возможно я не всё правильно понял ,
...например как-то должно быть использовано это "Даю согласие на обработку персональных данных"
возможно просто в этом коде есть ошибки не на чем проверить как надо
... Кроме Вас ,) как я сказал никому в этом не разобраться )) моментов много

Например представьте что какой-нибудь юный хакер напишет на питоне или JS скрипт,
который закидает вам несколько тысяч писем с разными данными и минимально-возможным интервалом
Не скажу что так и есть , но возможно за такое эти gmail.com, ya.ru заносят IP отправителя в чёрный список
+ там ещё ограничения какие-то есть .)

Сессии как-бы обычно мспользуются ... даже просто для того чтобы отменить случайную повторную отправку.
а это await fetch по умолчанию не шлёт никакие куки вроде... там как-то надо настройку включить.
Вобщем проблемных мест ещё много...
0
Заблокирован
31.08.2021, 06:34
Цитата Сообщение от x_lab Посмотреть сообщение
Я если честно никогда даже не пробовал эту библиотеку PHPMailer\
Я пару раз пользовался год назад. Указывал емаил сервера. Логин и пароль подключения к этому мылу. И еще некоторые данные. Кодировка письма и так далее. У ТС этого в коде я не нашел.

Добавлено через 18 минут
PereCC, попробуй выполнить этот код:

PHP
1
2
3
4
5
6
7
$To = 'a.perekrestov@gmail.com';
$Subject = "Письмо с сайта idomic.perekrestov.ru";
$message = "Проверка отправления писем с моего сайта";
if(mail($To, $Subject, $message,"From: admin@perekrestov.ru\r\n"."X-Mailer: PHP/" . phpversion()))
{
    echo "Письмо оправлено";
}
Я вот вижу, что домен третьего уровня. Возможно, на хостинге есть ограничения на отправления писем. Проверь обычную функцию mail() и код, который я предложил.
0
Невнимательный
 Аватар для ft4l
2840 / 1268 / 358
Регистрация: 08.02.2013
Сообщений: 7,391
Записей в блоге: 2
31.08.2021, 06:55
Цитата Сообщение от x_lab Посмотреть сообщение
$POST['name']
PereCC,) нечаянно повторил ошибку ... замените эти
$POST >>> $_POST
0
3 / 3 / 0
Регистрация: 14.01.2021
Сообщений: 42
31.08.2021, 11:51  [ТС]
Camy, спасибо за код
Цитата Сообщение от Camy Посмотреть сообщение
попробуй выполнить этот код:
сделал тест, ответ приходит "Письмо оправлено" это видно в инспекторе браузера. Но на почту письмо не сваливается.

Цитата Сообщение от Camy Посмотреть сообщение
Я вот вижу, что домен третьего уровня.
спасибо, что обратили на это внимание, перенес файлы в дирректорию первого уровня, но к сожалению результат не изменился. В почту сваливается письмо с пустыми полями.

Добавлено через 4 минуты
x_lab,
Цитата Сообщение от x_lab Посмотреть сообщение
замените эти
спасибо за код, заменил выгрузил для теста вбил в поля значения 1,2,3 и получил alert с сообщением что поле email заполнено некорректно. Заполнил поле email корректно и результатом получил ошибку 500

Цитата Сообщение от x_lab Посмотреть сообщение
$POST >>> $_POST
поправил :
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
$ListError = [];
$ok = 0;
if ($_SERVER['REQUEST_METHOD'] == 'POST') do {
    if (!isset($_POST['name'], $_POST['email'], $_POST['message'])) {
        $ListError[] = 'Заполните и отправьте форму';
        break;
    }
    if (!filter_var($_POST['email'] = trim($_POST['email']), FILTER_VALIDATE_EMAIL))
        $ListError[] = 'Полученный Email "'
            . filter_var($_POST['email'],FILTER_SANITIZE_EMAIL)
            .'" не прошёл проверку на соответствие.';
    foreach(['name' => 'Имя','message' => 'Сообщение'] as $key => $value) {
        $_POST[$key] = trim(filter_var($_POST[$key], FILTER_SANITIZE_FULL_SPECIAL_CHARS, FILTER_FLAG_NO_ENCODE_QUOTES));
        if (empty($_POST[$key]))
            $ListError[] = 'Поле '. $value .' не должно быть пустым.';
    }
    if ($ListError) break;
    $body = '<h1>Встречайте заявочку:</h1>'
        . '<p><strong>Имя:</strong> '.$_POST['name'].'</p>'
        .'<p><strong>Email:</strong> '.$_POST['email'].'</p>'
        .'<p><strong>Сообщение:</strong> '.$_POST['message'].'</p>';
    $mail->Body = $body;
    $ok = 1;
} while(0);
 
if ($ListError)
    $message = "Полученные данные не корректны\n". implode("\n", $ListError) ."\n";
elseif (!$ok)
    $message = "Не получены данные\n";
elseif (!$mail->send())
    $message = "Ошибка отправки\n";
else 
    $message = 'Данные отправлены';
 
header('Content-type: application/json');
echo json_encode( ['message' => $message] );
Добавлено через 1 минуту
сейчас тестовая страница опубликована по адресу: http://perekrestov.ru/idomic/

Добавлено через 11 минут
x_lab, я закомментировал строки с 26 по 33 и строку
PHP
1
 $message = 'Данные отправлены';
поставил после строки где передаем данные мейлеру:
PHP
1
$mail->Body = $body;
в таком случае ошибки 500 не выкинул и вернул в алерт "Данные отправлены", но при этом письма на почту не получил. Похоже ацкаясатана и нужно попробовать какой-то другой путь с отправкой сообщений на почту. Подскажите что можно еще попробовать или добивать этот способ?

Добавлено через 4 минуты
Цитата Сообщение от Camy Посмотреть сообщение
Возможно, на хостинге есть ограничения на отправления писем.
Camy, по поводу ограничения хостинга, это можно наверное исключить поскольку письма приходят. В письме отображается:
заголовок <h1>Встречайте заявочку:</h1>
отображается Имя: (но нет значения)
отображается Email: (но нет значения)
отображается Сообщение:: (но нет значения)

Добавлено через 7 минут
Цитата Сообщение от PereCC Посмотреть сообщение
x_lab, я закомментировал строки с 26 по 33 и строку
PHPВыделить код
1
 $message = 'Данные отправлены';
поставил после строки где передаем данные мейлеру:
PHPВыделить код
1
$mail->Body = $body;
в таком случае ошибки 500 не выкинул и вернул в алерт "Данные отправлены", но при этом письма на почту не получил. Похоже ацкаясатана и нужно попробовать какой-то другой путь с отправкой сообщений на почту. Подскажите что можно еще попробовать или добивать этот способ?
Я ошибся, ошибка 500 осталась
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.08.2021, 11:51
Помогаю со студенческими работами здесь

Не работает method POST
Посмотрите почему в бд запрос не идет и не создается таблица? &lt;? if($_GET == true){ ?&gt; &lt;form method='POST'&gt;&lt;br&gt;...

<form method=post>. Почему?)
на странице есть форма с методом пост и соответственно кнопка Отправить. почему код который прописан в этой кнопке выполняется не только...

Объясните как работают Method GET и POST
Объясните как работают Method GET и POST. Так и не понятно.

Не работает форма отправки сообщений form method="POST"
Подскажите пожалуйста, появилась проблема в коде, - отправки формы обратной связи, После добавления в нее капчи, причем капча работает...

Что попадает в массив POST, если имя есть у формы и тега внутри формы ?
День добрый! Я привык, что атрибут name в теге input это индекс в массиве $_POST, например. Но если в коде атрибут name есть и в...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru