Jump to content

susanwiese

New Members
  • Posts

    3
  • Joined

  • Last visited

Everything posted by susanwiese

  1. Thank you both very much - I appreciate your input. Kind regards, Susan
  2. Thank you Barand. I got this code from a video tutorial and it works very well. I just want to know how to get the engraving input from the products page to be added to the cart. I'm stuck with that.
  3. Hello everyone, Let me first say that I am a PHP beginner. With the use of online video tutorials I have setup a shopping cart for my online store that sells stainless steel jewelry. Everything is working well, but I want to add something and even though I know what needs to e done - I don't know how to go about it. Can someone please help me out? So I have a product page that gets the product's name, code, price and details from the database. This is the page's code: <?php // Script Error Reporting error_reporting(E_ALL); ini_set('display_errors', '1'); ?> <?php // Check to see the URL variable is set and that it exists in the database if (isset($_GET['id'])) { // Connect to the MySQL database include "storescripts/connect_to_mysql.php"; $id = preg_replace('#[^0-9]#i', '', $_GET['id']); // Use this var to check to see if this ID exists, if yes then get the product // details, if no then exit this script and give message why $sql = mysql_query("SELECT * FROM products WHERE id='$id' LIMIT 1"); $productCount = mysql_num_rows($sql); // count the output amount if ($productCount > 0) { // get all the product details while($row = mysql_fetch_array($sql)){ $product_code = $row["product_code"]; $product_name = $row["product_name"]; $price = $row["price"]; $details = $row["details"]; $category = $row["category"]; $date_added = strftime("%b %d, %Y", strtotime($row["date_added"])); } } else { echo "The item does not exist."; exit(); } } else { echo "Data to render this page is missing."; exit(); } mysql_close(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title><?php echo $product_code; ?></title> <meta http-equiv="Content-type" content="text/html; charset=us-ascii" /> <meta http-equiv="Content-Language" content="en-us" /> <meta http-equiv="imagetoolbar" content="no" /> <meta name="MSSmartTagsPreventParsing" content="true" /> <meta name="description" content="" /> <meta name="keywords" content="" /> <meta name="author" content="Susan Wiese" /> <link rel="stylesheet" href="css/style.css" type="text/css" /> </head> <body> <div id="page-container"> <div id="header"> <?php include "storescripts/header.php"; ?> </div> <div id="center-panel"> <div class="box1"> <?php include "storescripts/menu.php"; ?> </div> <div class="box1"> <table width="100%" border="0" cellspacing="0" cellpadding="15" align="center"> <tr> <td width="25%" valign="top"> <img src="inventory_images/<?php echo $id; ?>.jpg" width="200" height="200" alt="<?php echo $product_name; ?>" /><br /> <a href="inventory_images/<?php echo $id; ?>.jpg">View full size</a></td> <td width="75%" valign="top"> <h3><?php echo $product_code; ?></h3> <?php echo $product_name; ?><br /> <br /> <?php echo $details; ?><br /> <br /> <?php echo "R".$price; ?><br /> <br /> <form id="form1" name="form1" method="post" action="cart.php"> <label for="engraving">Engraving</label><br /> <input type="text" name="engraving" id="engraving" size="35" /><br /> <input type="hidden" name="pid" id="pid" value="<?php echo $id; ?>" /><br /> <input type="submit" name="button" id="button" class="submit" value="Add to cart" /> </form> </td> </tr> </table> </div> <div class="box1"> <?php include "storescripts/order.php"; ?> </div> </div> <div id="footer"> <?php include "storescripts/footer.php"; ?> </div> </div> </body> </html> The product page looks like this: http://www.personalizedjewellery.co.za/store/product.php?id=3 You'll notice I've added an "Engraving" label to the form. I want a visitor to be able to add the engraving they want to be done on this product. This information should then be sent to the cart with all the other details when the person adds the item to their cart. I want the text to be engraved to be displayed in the cart's table with the image, price, etc. This output should be in the //Create the product array section of cart.php (where I have added $engraving) Cart.php <?php session_start(); // Start session first thing in script // Script Error Reporting error_reporting(E_ALL); ini_set('display_errors', '1'); // Connect to the MySQL database include "storescripts/connect_to_mysql.php"; ?> <?php /////////////////////////////////////////////////////////////////////////////////// //Section 1 (if user attempts to add something to the cart from the product page)// /////////////////////////////////////////////////////////////////////////////////// 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 4 (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 5 (render the cart for the user to view on the page)// ///////////////////////////////////////////////////////////////// $cartOutput = ""; $cartTotal = ""; $pp_checkout_btn = ''; $product_id_array = ''; if (!isset($_SESSION["cart_array"]) || count($_SESSION["cart_array"]) < 1) { $cartOutput = "<h3 align='center'>Your shopping cart is empty</h3>"; } else { // Start the For Each loop $i = 0; foreach ($_SESSION["cart_array"] as $each_item) { $item_id = $each_item['item_id']; $sql = mysql_query("SELECT * FROM products WHERE id='$item_id' LIMIT 1"); while ($row = mysql_fetch_array($sql)) { $product_code = $row["product_code"]; $product_name = $row["product_name"]; $price = $row["price"]; } $pricetotal = $price * $each_item['quantity']; $cartTotal = $pricetotal + $cartTotal; $pricetotal = money_format("%.2n", $pricetotal); // Create the product array variable $product_id_array .= "$item_id-".$each_item['quantity'].", "; // Dynamic table row assembly $cartOutput .= "<tr>"; $cartOutput .= '<td><a href="product.php?id=' . $item_id . '">' . $product_code . '</a><br /><img src="inventory_images/' . $item_id . '.jpg" alt="' . $product_code. '" width="75" height="75" border="1" /></td>'; $cartOutput .= '<td>R' . $engraving . '</td>'; $cartOutput .= '<td>R' . $price . '</td>'; $cartOutput .= '<td><form action="cart.php" method="post"> <input name="quantity" type="text" value="' . $each_item['quantity'] . '" size="1" maxlength="2" /><br /> <br /> <input name="adjustBtn' . $item_id . '" type="submit" class="submit" value="Change" /> <input name="item_to_adjust" type="hidden" value="' . $item_id . '" /> </form></td>'; //$cartOutput .= '<td>' . $each_item['quantity'] . '</td>'; $cartOutput .= '<td>R' . $pricetotal . '</td>'; $cartOutput .= '<td><form action="cart.php" method="post"><input name="deleteBtn' . $item_id . '" type="submit" class="submit" value="X" /><input name="index_to_remove" type="hidden" value="' . $i . '" /></form></td>'; $cartOutput .= '</tr>'; $i++; } $cartTotal = money_format("%.2n", $cartTotal); $cartTotal = "R".$cartTotal." "; } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Your Cart</title> <link rel="stylesheet" href="css/style.css" type="text/css" /> </head> <body> <?php include_once("storescripts/analyticstracking.php") ?> <div id="page-container"> <div id="header"> <?php include "storescripts/header.php"; ?> </div> <div id="center-panel"> <div class="box1"> <?php include "storescripts/menu.php"; ?> </div> <div class="box1"> <center> <img src="images/cart.png" alt="Cart" title="Cart" border="0" /> <h3>Your Cart</h3> </center> <div style="margin:24px; text-align:left;"> <table width="80%" border="1" cellspacing="0" cellpadding="6" align="center"> <tr> <td width="20%" bgcolor="#FFFFFF"><strong>Product</strong></td> <td width="35%" bgcolor="#FFFFFF"><strong>Engraving</strong></td> <td width="10%" bgcolor="#FFFFFF"><strong>Price</strong></td> <td width="10%" bgcolor="#FFFFFF"><strong>Quantity</strong></td> <td width="10%" bgcolor="#FFFFFF"><strong>Total</strong></td> <td width="10%" bgcolor="#FFFFFF"><strong>Remove</strong></td> </tr> <?php echo $cartOutput; ?> </table> <br /> Cart Total: <?php echo $cartTotal; ?> | <a href="cart.php?cmd=emptycart">Empty your cart</a><br /> <br /> <h3>If you buy 6 items, you will receive the 6th item for free</h3> This adjustment will be made on your invoice before we send it to you.<br /> <br /> <h3>Postage</h3> The postage cost is to be added to the total above.<br /> • Post Office Registered Mail: R50<br /> • Fastway Couriers (Limited Service): R55<br /> • Speed Services: R90<br /> • Aramex Couriers (Full Service): R105<br /> </div> </div> </div> <div id="footer"> <?php include "storescripts/footer.php"; ?> </div> </div> </body> </html> Could someone please help me get the text to be engraved added to the cart? I would really appreciate it. It is probably very simple, but I'm completely stuck. Thanks Susan
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.