Как добавить 2 куска кода PHP при отправке массива данных? - PullRequest
1 голос
/ 01 мая 2020

У меня есть переменные сеансов, в которых хранятся данные корзины, и я хочу отправить их по электронной почте. Это l oop для записи всех данных корзины.

foreach($_SESSION["shopping_cart"] as $keys => $values)
            {
          ?>
          <tr>
            <td><?php echo $values["item_name"]; ?></td>
            <td><?php echo $values["item_quantity"]; ?></td>
            <td>€ <?php echo $values["item_price"]; ?></td>
            <td>€ <?php echo number_format($values["item_quantity"] * $values["item_price"], 2);?></td>
            <td><a href="cart.php?action=delete&id=<?php echo $values["item_id"]; ?>"><span class="text-danger">Vymazať</span></a></td>
          </tr>
          <?php
              $total = $total + ($values["item_quantity"] * $values["item_price"]);
            }

Это мой код для отправки электронной почты, и я хочу добавить туда данные корзины ...

require 'phpmailer/PHPMailerAutoload.php';
                    $mail = new PHPMailer(true);

                    $mail->CharSet = 'UTF-8';
                    $mail->Host='smtp.gmail.com';
                    $mail->Port=995;
                    $mail->SMTPAuth=true;
                    $mail->SMTPSecure='ssl';
                    $mail->Username='deelakeObjednavky@gmail.com';
                    $mail->Password='password';

                    $mail->setFrom($_POST['email'],"Deelake - objednávka");
                    $mail->addAddress('deelakeObjednavky@gmail.com');
                    $mail->addReplyTo($_POST['email'],$_POST['meno']);

                    $mail->isHTML(true);
                    $mail->Subject = 'Vyplnený kontaktný formulár:Objednávka';
                    $mail->Body='<h1 align=center>New ORDER </h1>';

                    if (!$mail->send()) {
                        $result="Email error.";
                    }
                    else{
                        $result="Email success.";
                    }

1 Ответ

0 голосов
/ 01 мая 2020

Для партии $mail->Body можно использовать следующее:

$mail->Body = '<h1 align=center>New ORDER </h1>';
$mail->Body .= '<table>';

$total = 0;

foreach ($_SESSION["shopping_cart"] as $keys => $values) {
    $mail->Body .= "<tr>
        <td>" . $values["item_name"] . "</td>
        <td>" . $values["item_quantity"] . "</td>
        <td>&euro;" . $values["item_price"] . "</td>
        <td>&euro;" . number_format($values["item_quantity"] * $values["item_price"], 2) . "</td>
        <td><a href=\"cart.php?action=delete&id=" . $values["item_id"] . "><span class=\"text-danger\">Vymazať</span></a></td>
    </tr>";
    $total = $total + ($values["item_quantity"] * $values["item_price"]);
}

$mail->Body .= '</table>';
$mail->Body .= "Total: &euro;" . $total;

if (!$mail->send()) {
    $result = "Email error.";
} else {
    $result = "Email success.";
}
...