За последние 24 часа нас посетили 9573 программиста и 1014 роботов. Сейчас ищут 378 программистов ...

Как div корзины отправить на почту

Тема в разделе "PHP для новичков", создана пользователем Nonsensse, 11 май 2022.

  1. Nonsensse

    Nonsensse Новичок

    С нами с:
    10 май 2022
    Сообщения:
    6
    Симпатии:
    0
    Есть div в html разметке в нем лежит корзина пользователя. Мне надо как то передавать этот div в файл send-mail.php, помогите пожалуйста
    HTML:
    1. <div id="cart-wrapper" class="cart-wrapper">
    2.  
    3.                 </div>
     
  2. twim32

    twim32 Активный пользователь

    С нами с:
    29 мар 2017
    Сообщения:
    274
    Симпатии:
    59
    1. Создать шаблон
    2. Рендерить его на сайте и в письме
     
  3. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.276
    Симпатии:
    630
    Адрес:
    Татарстан
    100% не надо его передавать... это всего лишь ваши предположения
    в адекватных CMS и сайтах - текст писем формируется исключительно на стороне сервера и на основе неких шаблонов

    но если уж очень хочется -
    берете нужный див и отправляете с помощью js на сервер, например так
    Код (Javascript):
    1. var cart = $('#cart-wrapper');
    Код (Javascript):
    1. $.post( "send-mail.php", function( cart) {
    2.   alert('отправлено');
    3. });
     
  4. Nonsensse

    Nonsensse Новичок

    С нами с:
    10 май 2022
    Сообщения:
    6
    Симпатии:
    0
    А можно пожалуйста ссылку на какой то туториал?
     
  5. yuri

    yuri Активный пользователь

    С нами с:
    16 янв 2012
    Сообщения:
    289
    Симпатии:
    2
  6. antoniii

    antoniii Новичок

    С нами с:
    16 мар 2022
    Сообщения:
    142
    Симпатии:
    16
    Я извиняюсь. А деньги по email долго идут?:)
     
    yuri нравится это.
  7. Nonsensse

    Nonsensse Новичок

    С нами с:
    10 май 2022
    Сообщения:
    6
    Симпатии:
    0
    Не помогает
    --- Добавлено ---
    Вот php код с отправкой письма
    PHP:
    1. <?php
    2.  
    3.  
    4. $doc = new DomDocument;
    5. $doc->validateOnParse = true;
    6.  
    7. require_once('phpmailer/PHPMailerAutoload.php');
    8. $mail = new PHPMailer;
    9. $mail->CharSet = 'utf-8';
    10.  
    11.  
    12. $cart = $_POST['cart'];
    13. $name = $_POST['name'];
    14. $phone = $_POST['phone'];
    15. $adress = $_POST['adress'];
    16.  
    17.  
    18.  
    19. $mail->isSMTP();
    20. $mail->Host = 'smtp.mail.ru';                                                                                              // Specify main and backup SMTP servers
    21. $mail->SMTPAuth = true;
    22. $mail->Username = 'vkus.orders.sender@mail.ru';
    23. $mail->Password = 'gd7bxq5UnWthgRQHhucN';
    24. $mail->SMTPSecure = 'ssl';
    25. $mail->Port = 465;
    26.  
    27. $mail->setFrom('vkus.orders.sender@mail.ru');
    28. $mail->addAddress('petrov-danil230@mail.ru');
    29.  
    30. $mail->Subject = 'Заказ';
    31. $mail->Body = '<html>
    32. <head>
    33.    <title>'.$subject.'</title>
    34. </head>
    35. <body>
    36.    <p>Имя: '.$name.'</p>
    37.    <p>Номер телефона: '.$phone.'</p>
    38.    <p>Адрес: '.$adress.'</p>
    39.    <p>Корзина: '.$cart.'</p>
    40.  
    41. </body>
    42. </html>';
    43.  
    44. if(!$mail->send()) {
    45.     echo 'Error';
    46. }
    47. ?>
    и js код корзины
    Код (Javascript):
    1. const cartWrapper = document.querySelector ('.cart-wrapper')
    2.  
    3. window.addEventListener('click', function (event) {
    4.  
    5.  
    6.     if (event.target.hasAttribute('data-cart')) {
    7.  
    8.         const FoodCard = event.target.closest('.food');
    9.  
    10.         //Собираем данные с карточки
    11.         const productInfo = {
    12.             id: FoodCard.dataset.id,
    13.             imgSrc: FoodCard.querySelector('.food_png').getAttribute('src'),
    14.             title: FoodCard.querySelector('.item-title').innerText,
    15.             weight: FoodCard.querySelector('.pr_weight').innerText,
    16.             price: FoodCard.querySelector('.pr_price').innerText,
    17.             counter: FoodCard.querySelector('[data-counter]').innerText,
    18.         }
    19.  
    20.         const itemInCart = cartWrapper.querySelector('[data-id="' + productInfo.id + '"]');
    21.  
    22.         if (itemInCart) {
    23.             const counterEl = itemInCart.querySelector('[data-counter]')
    24.             counterEl.innerText = parseInt(counterEl.innerText) + parseInt(productInfo.counter);
    25.         } else {
    26.  
    27.         const cartItemHTML = `
    28. //ТУТ HTML РАЗМЕТКА КАРТОЧКИ ТОВАРА//
    29. `;
    30.  
    31.        
    32.         cartWrapper.insertAdjacentHTML('beforeend', cartItemHTML)
    33.         }
    34.  
    35.        
    36.         //Отображение статуса корзины
    37.         cart_status();
    38.         cart_price();
    39.     }
    40.  
    41.     const btn = document.querySelector('#send');
    42.  
    43.     btn.addEventListener('click', function(){
    44.  
    45.         $.post('send-mail.php',
    46.         {
    47.             cart: cartWrapper,
    48.         });
    49. })
    50.  
    51.  
    52. })
     
  8. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.276
    Симпатии:
    630
    Адрес:
    Татарстан
    а что не помогает то?