Интернет магазин, доставка еды. Поля формы Имя, Телефон, Адрес, общая сумма заказа отправляются как надо, а сам список товаров приходит в таком виде:
Заказ [{"блюдо":"Овощи с жареным тофу","количество":2},{"блюдо":"Рисова лапша ,"количество":1},{"блюдо":"Лапша удон с говядиной и овощaми","количество":3},{"блюдо":"Суп с говядиной ","количество":2}]
Хочется хотя бы без скобок для начала:)
Так в js собираются даные для отправки
let array = cartProductsList.querySelector('.simplebar-content').children;
let fullprice = fullPrice.textContent;
let length = array.length;
document.querySelector('.order-modal__quantity span').textContent = `${length} шт`;
document.querySelector('.order-modal__summ span').textContent = `${fullprice}`;
let formTotal = document.getElementById('formTotal')
formTotal.value = `${fullprice}`;
for (item of array) {
let img = item.querySelector('.cart-product__img').getAttribute('src');
let title = item.querySelector('.cart-product__title').textContent;
let priceString = priceWithoutSpaces(item.querySelector('.cart-product__price').textContent);
let id = item.querySelector('.cart-product').dataset.id;
let qtyNumber = Number(item.querySelector('.cart-product-field').value);
let productCost = Number(item.querySelector('.cart-product-field').dataset.price);
orderModalList.insertAdjacentHTML('afterbegin', generateModalProduct(img, title, productCost, priceString, qtyNumber, id));
let obj = {};
obj.блюдо = title;
obj.количество = qtyNumber;
productArray.push(obj);
let order = JSON.stringify(productArray)
let total = JSON.stringify(fullprice)
}
а это php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'PHPMailer-6.3.0/src/Exception.php';
require 'PHPMailer-6.3.0/src/PHPMailer.php';
$mail = new PHPMailer(true);
$mail->CharSet = 'UTF-8';
$mail->setLanguage('ru', 'PHPMailer-6.3.0/language/');
$mail->IsHTML(true);
$mail->setFrom('adress.ru', 'zakaz'); //От кого письмо
$mail->addAddress('adress.ru'); // кому отправить
$mail->Subject = 'Заказ с сайта Azia-bo'; //Тема письма
//Тело письма
$body = '<h1>Привет</h1>';
if(trim(!empty($_POST['name']))){
$body.='<p><strong>Имя</srtong> '.$_POST['name'].'</p>';
}
if(trim(!empty($_POST['tel']))){
$body.='<p><strong>Телефон</srtong> '.$_POST['tel'].'</p>';
}
if(trim(!empty($_POST['adress']))){
$body.='<p><strong>Адрес доставки:</srtong> '.$_POST['adress'].'</p>';
}
if(trim(!empty($_POST['order']))){
$body.='<p><strong>Заказ</srtong> '.($_POST['order']).'</p>';
}
if(trim(!empty($_POST['formTotal']))){
$body.='<p><strong>Общая сумма заказа</srtong> '.$_POST['formTotal'].'</p>';
}
$mail->Body = $body;
//отправляем
if (!$mail->send()) {
$message = 'Ошибка';
} else {
$message = 'Данные отправлены';
}
$response = ['message' => $message];
header('Content-type: application/json');
echo json_encode($response);
Дергала все из разных источников, так что возможно, здесь винегрет полнейший, в php вообще ничего не понимаю.