Sending Cart data in mail PHP

Saturday, October 3, 2015

I am building an eCommerce website, I have developed almost 80% of it. I am not using any payment gateways. I am trying to send all the cart data in an email. My cart is working properly, adding products, changing quantity removing item. I want help to send all the data in email.

cart.php

        <!doctype html>
    <?php
    include("function/functions.php");
    session_start(); // Start session first thing in script
    // Script Error Reporting
    error_reporting(E_ALL);
    ini_set('display_errors', '1');

    if (isset($_POST['pid'])) {
        $pid = $_POST['pid'];
        $wasFound = false;
        $i = 0;
        // If the cart session variable is not set or cart array is empty
        if (!isset($_SESSION["cart_array"]) || count($_SESSION["cart_array"]) < 1) { 
            // RUN IF THE CART IS EMPTY OR NOT SET
            $_SESSION["cart_array"] = array(0 => array("item_id" => $pid, "quantity" => 1));
        } else {
            // RUN IF THE CART HAS AT LEAST ONE ITEM IN IT
            foreach ($_SESSION["cart_array"] as $each_item) { 
                  $i++;
                  while (list($key, $value) = each($each_item)) {
                      if ($key == "item_id" && $value == $pid) {
                          // That item is in cart already so let's adjust its quantity using array_splice()
                          array_splice($_SESSION["cart_array"], $i-1, 1, array(array("item_id" => $pid, "quantity" => $each_item['quantity'] + 1)));
                          $wasFound = true;
                      } // close if condition
                  } // close while loop
               } // close foreach loop
               if ($wasFound == false) {
                   array_push($_SESSION["cart_array"], array("item_id" => $pid, "quantity" => 1));
               }
        }
        header("location: cart.php"); 
        exit();
    }

    ?>
    <?php 
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //       Section 2 (if user chooses to empty their shopping cart)
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    if (isset($_GET['cmd']) && $_GET['cmd'] == "emptycart") {
        unset($_SESSION["cart_array"]);
    }
    ?>
    <?php 
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //       Section 3 (if user chooses to adjust item quantity)
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    if (isset($_POST['item_to_adjust']) && $_POST['item_to_adjust'] != "") {
        // execute some code
        $item_to_adjust = $_POST['item_to_adjust'];
        $quantity = $_POST['quantity'];
        $quantity = preg_replace('#[^0-9]#i', '', $quantity); // filter everything but numbers
        if ($quantity >= 100) { $quantity = 99; }
        if ($quantity < 1) { $quantity = 1; }
        if ($quantity == "") { $quantity = 1; }
        $i = 0;
        foreach ($_SESSION["cart_array"] as $each_item) { 
                  $i++;
                  while (list($key, $value) = each($each_item)) {
                      if ($key == "item_id" && $value == $item_to_adjust) {
                          // That item is in cart already so let's adjust its quantity using array_splice()
                          array_splice($_SESSION["cart_array"], $i-1, 1, array(array("item_id" => $item_to_adjust, "quantity" => $quantity)));
                      } // close if condition
                  } // close while loop
        } // close foreach loop
    }
    ?>
    <?php 
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //       Section 3 (if user wants to remove an item from cart)
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    if (isset($_POST['index_to_remove']) && $_POST['index_to_remove'] != "") {
        // Access the array and run code to remove that array index
         $key_to_remove = $_POST['index_to_remove'];
        if (count($_SESSION["cart_array"]) <= 1) {
            unset($_SESSION["cart_array"]);
        } else {
            unset($_SESSION["cart_array"]["$key_to_remove"]);
            sort($_SESSION["cart_array"]);
        }
    }
    ?>


    <?php 
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //       Section 4 
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    $cartOutput = "";
    $cartTotal = "";
    $pp_checkout_btn = '';
    $product_id_array = '';
    if (!isset($_SESSION["cart_array"]) || count($_SESSION["cart_array"]) < 1) {
        $cartOutput = "<h2 align='center'>Your shopping cart is empty</h2>";
    }
    else{
        $i=0;
        foreach($_SESSION["cart_array"] as $each_item){

            $item_id=$each_item['item_id'];
            $sql="SELECT * FROM products where product_id='$item_id'";
            $run_sql=mysqli_query($con, $sql);
            $num_rows=mysqli_num_rows($run_sql);
            while($row=mysqli_fetch_array($run_sql)){
                $product_id=$row['product_id'];
                $product_title=$row['product_title'];
                $product_price=$row['product_price'];
                $product_desc=$row['product_desc'];
                }
            $product_price_total=$product_price * $each_item['quantity'];
            $cartTotal=$product_price_total + $cartTotal;
            //dynamic table assembly
            $cartOutput .='<tr>';
            $cartOutput .='<td>'. $product_title . '</a><br /><img src="admin_area/images/' . $item_id . '.jpg"  width="40" height="52" border="1" /></td>';
            $cartOutput .='<td>' . $product_desc. '</td>';
            $cartOutput .='<td>' . $product_price. '</td>';
            $cartOutput .= '<td><form action="cart.php" method="post">
            <input name="quantity" type="text" value="' . $each_item['quantity'] . '" size="1" maxlength="2" />
            <input name="adjustBtn' . $item_id . '" type="submit" value="change" />
            <input name="item_to_adjust" type="hidden" value="' . $item_id . '" />
            </form></td>';

            $cartOutput .='<td>' . $product_price_total .'</td>';
            $cartOutput .='<td><form action="cart.php" method="post"><input name="deleteBtn' . $item_id . '" type="submit" value="X"><input name="index_to_remove" type="hidden" value="' . $i . '"></form></td>';

            $cartOutput .='</tr>';
            $i++;       
        }
        $cartTotal="Cart Total: Rs".$cartTotal;
    }
    ?>


    <html>
    <head>
    <meta charset="utf-8">
    <title>My Store</title>
    <link rel="stylesheet" href="css/style.css">
    </head>

    <body>
    

0 comments:

Post a Comment