как я могу отправить содержимое корзины с покупками обратно модератору - PullRequest
0 голосов
/ 05 июня 2018

вместо того, чтобы делать традиционную проверку корзины покупок из-за того, что мы продаем, нам нужна кнопка проверки, чтобы отправить корзину обратно по электронной почте веб-модератору, чтобы он дал подтверждение того, что у меня сейчас есть, он извлекает продукт из базы данных, но когдаотправляет электронное письмо, которое отправляет отдельное электронное письмо для каждой позиции в корзине покупок. Мне нужно одно электронное письмо со всей корзиной покупок, что, скорее всего, является проблемой зацикливания, но, похоже, не могу понять, что любая помощь будет высоко ценится` *

foreach($_SESSION['shoppingCart'] as $key => $product)
        {
            if (isset($_POST['checkout']))
                {
            $result = $this->qry("SELECT * FROM product WHERE Item_num=?", array($product['ID']));
            foreach ($result as $row)
            {
                echo '<tr>';
                    echo '<td>'.$row['Name'].'</td>';
                    echo '<td>'.$product['Quantity'].'</td>';
                    echo '<td>'.$row['Price'].'</td>';
                    echo '<td>$'.number_format($product['Quantity'] * $row['Price'], 2).'</td>';
                    echo '<td><form method="POST">
                        <button type="submit" name="removeFromCart" value="'.$product['ID'].'">
                        Remove</button></form></td>';
                echo '</tr>';
                $total = $total + ($product['Quantity'] * $row['Price']);
                $price= $row['Price'];
                $lprice= $product['Quantity'] * $row['Price'];
                $quan= $product['Quantity'];
                    $name = $row['Name'];
                    $quantity = $product['Quantity'];

                    $to = 'ms245@zips.uakron.edu';
                    $subject = 'order from fatfish aquatic website';





                        $message = "<html><body>";
                        $message .= "<table>";
                        $message .= "<th>Name</th><th>Quantity</th><th>Price</th> <th> line total</th>";

                        $message .= "<tr style='background: #eee;'><td>'.$name.'</td><td>'.$quan.'</td><td>'.$price.'</td><td>'.$lprice.'</td></tr>";

                        $message .="123";
                    $message .= "</table>";
                    $message .= $total;
                    $message .= $row['Name'];
                    $message .= 'shipping address <br>';
                    $message .= 'phone number <br>';


                }
                $message .= 'email<br>';
                        $message .= "</body></html>";
                        $headers  = 'MIME-Version: 1.0' . "\r\n";
                        $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
                        $headers .= "From: ms245@zips.uakron.edu\r\n"."X-Mailer: php";

                            mail($to, $subject, $message, $headers);





                }

            }`

1 Ответ

0 голосов
/ 05 июня 2018

Попробуйте, я реорганизовал код так, чтобы ваш звонок mail был сделан после того, как вы просмотрели корзину и собрали детали позиции.Мне непонятно, почему вы должны повторить формы «удалить продукт» на данном этапе в своем коде - если вы делаете и отправляете окончательное электронное письмо с деталями заказа, заказ должен быть уже размещен, верно?Вам нужно будет переосмыслить этот аспект, однако я продемонстрировал, как вы можете реорганизовать свой код построения сообщений электронной почты, чтобы получить то, о чем вы просили.

if (!empty($_POST['checkout'])) {

    // initialise message
    $message = "<html><body>";
    $message .= "<table>";
    $message .= "<th>Name</th><th>Quantity</th><th>Price</th><th>line total</th>";

    foreach ($_SESSION['shoppingCart'] as $key => $product) {
        $result = $this->qry("SELECT * FROM product WHERE Item_num = ?", array($product['ID']));
        foreach ($result as $row) {
            // line item details added to message
            $name = $row['Name'];
            $quantity = $product['Quantity'];
            $price = $row['Price'];
            $lprice = $quantity * $price;
            $total += $lprice;
            $totalFormatted = number_format($total, 2);
            $message .= "<tr style='background: #eee;'><td>'.$name.'</td><td>'.$quantity.'</td><td>'.$price.'</td><td>'.$lprice.'</td></tr>";
            $message .= "123";
            $message .= $name;
        }
    }

    // finalise message
    $message .= "</table>";
    $message .= "<p id='checkout-summary'>";
    $message .= "total: &#36;{$totalFormatted} <br>";
    $message .= 'shipping address <br>';
    $message .= 'phone number <br>';
    $message .= 'email<br>';
    $message .= "</p>";
    $message .= "</body></html>";

    $to = 'ms245@zips.uakron.edu';
    $subject = 'order from fatfish aquatic website';
    $headers = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    $headers .= "From: ms245@zips.uakron.edu\r\n" . "X-Mailer: php";

    mail($to, $subject, $message, $headers);

}
...