@Phantasma

Как сделать отправку содержимого корзины на почту в нормальном виде?

Интернет магазин, доставка еды. Поля формы Имя, Телефон, Адрес, общая сумма заказа отправляются как надо, а сам список товаров приходит в таком виде:
Заказ [{"блюдо":"Овощи с жареным тофу","количество":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 вообще ничего не понимаю.
  • Вопрос задан
  • 252 просмотра
Пригласить эксперта
Ответы на вопрос 1
zkrvndm
@zkrvndm
Архитектор решений
То что в скобках называется JSON. Гуглите как работать с JSON на PHP.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы