Email 如何通过电子邮件将购物车的内容发送到我的地址?

Email 如何通过电子邮件将购物车的内容发送到我的地址?,email,shopping-cart,Email,Shopping Cart,这是我的脚本和我的电子邮件脚本。它向我发送购物车,但如果我有任何两个以上的项目,它将作为一个空白电子邮件。电子邮件至php: <?php // Include MySQL class require_once('inc/mysql.class.php'); // Include database connection require_once('inc/global.inc.php'); // Include functions require_once('inc/functions.in

这是我的脚本和我的电子邮件脚本。它向我发送购物车,但如果我有任何两个以上的项目,它将作为一个空白电子邮件。电子邮件至php:

<?php
// Include MySQL class
require_once('inc/mysql.class.php');
// Include database connection
require_once('inc/global.inc.php');
// Include functions
require_once('inc/functions.inc.php');
// Start the session
session_start();

$emailSubject = 'Order';
$webMaster = 'MY EMAIL;
{
   $body = showCart();
   $headers = "MIME-Version: 1.0\r\n"; 
       $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
   $headers .= "Content-Transfer-Encoding: 8bit\r\n";
   $success = mail ($webMaster, $emailSubject, $body, $headers)

       /* Results rendered as HTML */
   $theResults = <<<EOD
       <html><body background="images/sand.jpg">
           <table align="center" width="200px" height="100px"  bgcolor="#0099FF"                    style="border:solid medium #0F0; border-radius:4px; margin-top:200px">
           <tr>
              <td><h3 align="center">Your message has been sent.</h3></td>
           </tr>
           <tr>
              <td><h4 align="center">Redirecting now...</h4></td>
           </tr>
           </table>
       </body></html>
       EOD;
       echo "$theResults";
}
?>

如果您查看电子邮件的来源,是否看到条件行的任何部分?另外,请注意,如果您只进行一次查询以获取所有数据,而不是多次查询以一次获取一本书,那会更好。@Alaincollin不完全确定我是否理解您的意思。购物车功能正常,我可以添加任意数量的商品,并更改数量等。但是,当我使用showCart()函数将购物车发送到电子邮件时,如果我向购物车添加两个以上的产品,则电子邮件为空,如果购物车中只有1或2个商品,则电子邮件显示购物车正常。正在寻找更好的方式将购物车的内容发送到我的电子邮件。感谢整个电子邮件是空白的,或者只是购物车部分?至于我的第二点,你应该用一个一次性返回你想要的所有行的查询替换“SELECT*FROM books WHERE id=”.$id“查询。@AlainCollins如果我向购物车添加了两个以上的项目,如果我只添加了两个或一个,那么整个电子邮件都是空白的,电子邮件显示得非常完美
<?php
function writeShoppingCart() {
$cart = $_SESSION['cart'];
if (!$cart) {
    return '<p>You have no items in your shopping cart</p>';
} else {
        // Parse the cart session variable
    $items = explode(',',$cart);
    $s = (count($items) > 1) ? 's':'';
    return '<p>You have <a href="cart.php">'.count($items).' item'.$s.' in your shopping cart</a></p>';
}
}

function showCart() {
global $db;
$cart = $_SESSION['cart'];
if ($cart) {
    $items = explode(',',$cart);
    $contents = array();
    foreach ($items as $item) {
        $contents[$item] = (isset($contents[$item])) ? $contents[$item] + 1 : 1;
    }
    $output[] = '<form action="cart.php?action=update" method="post" id="cart">';
    $output[] = '<table>';
    $output[] = '<tr>';
    $output[] = '<thead>';
    $output[] = '<th></th>';
    $output[] = '<th>Item</th>';
    $output[] = '<th>Price</th>';
    $output[] = '<th>Quantity</th>';
    $output[] = '<th>Total</th>';
    $output[] = '</thead>';
    $output[] = '</tr>';
    foreach ($contents as $id=>$qty) {
            $sql = 'SELECT * FROM books WHERE id = '.$id;
        $result = $db->query($sql);
        $row = $result->fetch();
        extract($row);
        $output[] = '<tr>';
        $output[] = '<td><a href="cart.php?action=delete&id='.$id.'" class="r">Remove</a></td>';
        $output[] = '<td>'.$title.' by '.$author.'</td>';
        $output[] = '<td>&dollar;'.$price.'</td>';
        $output[] = '<td><input type="text" name="qty'.$id.'" value="'.$qty.'" size="3" maxlength="3" /></td>';
        $output[] = '<td>&dollar;'.($price * $qty).'</td>';
        $total += $price * $qty;
        $output[] = '</tr>';
    }
    $output[] = '</table>';
    $tax = .07;
    $taxtotal += round($total * $tax,2);
    $amounttotal += $total + $taxtotal;
    $output[] = '<p>Tax: <strong>&dollar;'.$taxtotal.'</strong></p>';
    $output[] = '<p>Total: <strong>&dollar;'.$amounttotal.'</strong></p>';
    $output[] = '<div><button type="submit">Update cart</button></div>';
    $output[] = '</form>';
    $output[] = '<form action="send.php" method="post" enctype="multipart/form-data">';
    $output[] = '<div><button type="submit">Check Out</button></div>';
    $output[] = '</form>';
} else {
    $output[] = '<p>You shopping cart is empty.</p>';
}
return join('',$output);
}
?>