PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 1
gmmm Отправлено: 04 Сентября, 2021 - 08:57:01 • Тема: Вместо POST данных приходят пустые данные • Форум: Вопросы новичков

Ответов: 1
Просмотров: 301
Всем привет, помогите, пожалуйста: есть js код, который срабатывает при submit формы для заказа обратного звонка:

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. /* Обработка формы обратного звонка */
  3. popupForm.addEventListener("submit", (evt) => {
  4.   evt.preventDefault();
  5.  
  6.   popupForm.style.display = "none";
  7.   loading.style.display = "flex";
  8.  
  9.  
  10.   const backcall = {
  11.       name: evt.target.querySelector("#backcall-name").value,
  12.       phone: evt.target.querySelector("#backcall-phone").value,
  13.     };
  14.  
  15. const options = {
  16. method: 'POST',
  17. headers: {
  18. 'Content-Type': 'application/json',
  19. },
  20. body: JSON.stringify(backcall),
  21. };
  22.  
  23.   fetch("../php/backcall.php", options)
  24.     .then((res) => {
  25.       if (res.ok) {
  26.         loading.style.display = "none";
  27.         success.style.display = "flex";
  28.       } else {
  29.         throw new Error('Ошибка');
  30.       }
  31.     })
  32.     .catch(() => {
  33.       loading.style.display = "none";
  34.       fail.style.display = "flex";
  35.     });
  36.  
  37. });
  38.  


Далее данные должны отправиться судя по коду выше в файл backcall.php

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  use PHPMailer\PHPMailer\PHPHMailer;
  4.  use PHPMailer\PHPMailer\Exception;
  5.  
  6.  require '../PHPMailer/src/Exception.php';
  7.  require '../PHPMailer/src/PHPMailer.php';
  8.  
  9.  $name =  $_POST['name'];
  10.  $phone =  $_POST['phone'];
  11.  
  12.  #$mail = new PHPMailer(true);
  13. $mail = new PHPMailer\PHPMailer\PHPMailer();
  14.  $mail->CharSet = 'UTF-8';
  15.  $mail->setLanguage('ru', '../PHPMailer/language/');
  16.  $mail->IsHTML(true);
  17.  
  18.  //От кого письмо
  19.  $mail->setFrom('backcall@сайт.рф', 'Компания');
  20.  //Кому отправить
  21.  $mail->addAddress('gmmm@yandex.ru');
  22.  //Тема письма
  23.  $mail->Subject = 'Запрос обратного звонка';
  24.  
  25.  $body = "<h3>Пользователь заказал обратный звонок</h3>";
  26.  $body.="<p><strong>Имя: </strong>$name</p>";
  27.  $body.="<p><strong>Телефон: </strong>$phone</p>";
  28.  
  29.  $mail->Body = $body;
  30.  
  31.  //Отправляем
  32. if (!$mail->send()) {
  33.     $message = 'Ошибка';
  34. } else {
  35.     $message = 'Данные отправлены!';
  36. }
  37.  
  38. $response = ['message' => $message];
  39.  
  40. header('Content-type: application/json');
  41. echo json_encode($response);
  42.  
  43. ?>
  44.  


Но в $_POST['name'] и $_POST['phone'] ничего нет.. Пусто. И получается в отправляемом письме тоже вместо них пусто. Почему так может быть?
С формы данные собираются корректно, проверил.

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB