nia_st210 Posted April 17, 2011 Share Posted April 17, 2011 Hello everyone , I am new to php .. I am trying to make website that other people can order my books.So I saw video tutorial about making shopping cart and everything works , until part when other person need to send me information what ordered. With paypal it works , but in my country paypal is not available to use , so I want them to send me their details , and I will send them books . I made database , it works to get their details , but can't get hidden parts , product_id , product_id_array and cartTotal so I can know what they ordered , and how much they need to pay me .. How to "grab" what they ordered , they shopping cart when have products .. Thanks in advance for help )) cart.php codes Quote <?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 = "<h2 align='center'>Your shopping cart is empty</h2>"; } else { // Start PayPal Checkout Button $pp_checkout_btn .= '<form action="https://www.paypal.com/cgi-bin/webscr" method="post"> <input type="hidden" name="cmd" value="_cart"> <input type="hidden" name="upload" value="1"> <input type="hidden" name="business" value="">'; // 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_name = $row["product_name"]; $price = $row["price"]; $details = $row["details"]; } $pricetotal = $price * $each_item['quantity']; $cartTotal = $pricetotal + $cartTotal; setlocale(LC_MONETARY, "en_US"); $pricetotal = number_format ($pricetotal , $decimals = 0); // Dynamic Checkout Btn Assembly $x = $i + 1; $pp_checkout_btn .= '<input type="hidden" name="item_name_' . $x . '" value="' . $product_name . '"> <input type="hidden" name="amount_' . $x . '" value="' . $price . '"> <input type="hidden" name="quantity_' . $x . '" value="' . $each_item['quantity'] . '"> '; // 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_name . '</a><br /><img src="inventory_images/' . $item_id . '.jpg" alt="' . $product_name. '" width="40" height="52" border="1" /></td>'; $cartOutput .= '<td>' . $details . '</td>'; $cartOutput .= '<td>$' . $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>' . $each_item['quantity'] . '</td>'; $cartOutput .= '<td>' . $pricetotal . '</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++; } setlocale(LC_MONETARY, "en_US"); $cartTotal = number_format ($cartTotal , $decimals = 0); $cartTotal = "<div style='font-size:18px; margin-top:12px;' align='right'>Cart Total : ".$cartTotal." USD</div>"; // Finish the Paypal Checkout Btn $pp_checkout_btn .= '<input type="hidden" name="custom" value="' . $product_id_array . '"> <input type="hidden" name="notify_url" value="http://mywebsite.com"> <input type="hidden" name="return" value="http://mywebsite.com"> <input type="hidden" name="rm" value="2"> <input type="hidden" name="cbt" value="Return to The Store"> <input type="hidden" name="cancel_return" value="http://mywebsite.com"> <input type="hidden" name="lc" value="US"> <input type="hidden" name="currency_code" value="USD"> <input type="image" src="http://www.paypal.com/en_US/i/btn/x-click-but01.gif" name="submit" alt="Make payments with PayPal - its fast, free and secure!"> </form>'; } ?> <!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> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Your Cart</title> <link rel="stylesheet" href="style/style.css" type="text/css" media="screen" /> </head> <body> <div align="center" id="mainWrapper"> <div id="pageContent"> <div style="margin:24px; text-align:left;"> <br /> <table width="100%" border="1" cellspacing="0" cellpadding="6"> <tr> <td width="18%" bgcolor="#C5DFFA"><strong>Product</strong></td> <td width="45%" bgcolor="#C5DFFA"><strong>Product Description</strong></td> <td width="10%" bgcolor="#C5DFFA"><strong>Unit Price</strong></td> <td width="9%" bgcolor="#C5DFFA"><strong>Quantity</strong></td> <td width="9%" bgcolor="#C5DFFA"><strong>Total</strong></td> <td width="9%" bgcolor="#C5DFFA"><strong>Remove</strong></td> </tr> <?php echo $cartOutput; ?> <!-- <tr> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> --> </table> <?php echo $cartTotal; ?> <br /> <br /> <form action="create.php" method="post"> <input type="hidden" name="inputid" value="<?php echo $id; ?>"> <br/> <input type="hidden" name="product_id" value="' . $product_id . '"> <br/> <input type="text" name="inputPayer_email" value="" /> <br/> <input type="text" name="inputFirst_name" value="" /> <br/> <input type="text" name="inputLast_name" value="" /> <br/> <input type="text" name="inputAddress_street" value="" /> <br/> <input type="text" name="inputAddress_city" value="" /> <br/> <input type="text" name="inputAddress_state" value="" /> <br/> <input type="hidden" name="custom" value="' . $product_id_array . '"> <br/> <input type="hidden" name="inputcartTotal" value="" /> <input type="submit" name="submit" /> </form> <?php echo $pp_checkout_btn; ?> <br /> <br /> <a href="cart.php?cmd=emptycart">Click Here to Empty Your Shopping Cart</a> </div> <br /> <a href="http://mywebsite.com">Home</a> <br/> <a href="http://mywebsite.com">Order</a> </div> <?php include_once("template_footer.php");?> </div> </body> </html> create.php codes Quote <?php $id = $_POST['inputid']; $product_id = $_POST['inputproduct_id']; $Payer_email = $_POST['inputPayer_email']; $First_name = $_POST['inputFirst_name']; $Last_name = $_POST['inputLast_name']; $Address_street = $_POST['inputAddress_street']; $Address_city = $_POST['inputAddress_city']; $Address_state = $_POST['inputAddress_state']; $product_id_array = $_POST['inputproduct_id_array']; $cartTotal = $_POST['inputcartTotal']; if(!$_POST['submit']) { echo "please fill out this form"; header('Location: index.php'); } else { mysql_query("INSERT INTO `transactions` ( `id` , `product_id` , `payer_email` , `first_name` , `last_name` , `address_street` , `address_city` , `address_state` , `product_id_array` , `cartTotal` ) VALUES (NULL , '$product_id', '$Payer_email', '$First_name', '$Last_name', '$Address_street', '$Address_city', '$Address_state', '$product_id_array', '$cartTotal')") or die(mysql_error()); echo "Added already"; header('Location: index.php'); } ?> order form codes Quote <form action="create.php" method="post"> <input type="hidden" name="inputid" value="<?php echo $id; ?>"> <br/> <input type="hidden" name="product_id" value="' . $product_id . '"> <br/> <input type="text" name="inputPayer_email" value="" /> <br/> <input type="text" name="inputFirst_name" value="" /> <br/> <input type="text" name="inputLast_name" value="" /> <br/> <input type="text" name="inputAddress_street" value="" /> <br/> <input type="text" name="inputAddress_city" value="" /> <br/> <input type="text" name="inputAddress_state" value="" /> <br/> <input type="hidden" name="custom" value="' . $product_id_array . '"> <br/> <input type="hidden" name="inputcartTotal" value="" /> <input type="submit" name="submit" /> </form> Link to comment https://forums.phpfreaks.com/topic/233993-how-to-send-to-my-database-what-other-person-order/ Share on other sites More sharing options...
Skewled Posted April 17, 2011 Share Posted April 17, 2011 $sql = mysql_query("SELECT * FROM products WHERE id='$item_id' LIMIT 1"); while ($row = mysql_fetch_array($sql)) { $product_name = $row["product_name"]; $price = $row["price"]; $details = $row["details"]; } $productid isn't assigned from what I could see so there is no value passed to: <input type="hidden" name="product_id" value="' . $product_id . '"> in your form. Perhaps you forgot to assign it in your above query? Your cartTotal: $pricetotal = $price * $each_item['quantity']; $cartTotal = $pricetotal + $cartTotal; $cartTotal is assigned to "" blank. Then your getting your price total $price * $each_item['quantity']; try to echo out $pricetotal and see if it get's set. Also, $cartTotal is $pricetotal + $cartTotal and I'm not following why. Then you later do: $cartTotal = number_format ($cartTotal , $decimals = 0); $cartTotal = "<div style='font-size:18px; margin-top:12px;' align='right'>Cart Total : ".$cartTotal." USD</div>"; I'm not certian you can do it like this. Link to comment https://forums.phpfreaks.com/topic/233993-how-to-send-to-my-database-what-other-person-order/#findComment-1202719 Share on other sites More sharing options...
nia_st210 Posted April 18, 2011 Author Share Posted April 18, 2011 Thank you Problem solved Link to comment https://forums.phpfreaks.com/topic/233993-how-to-send-to-my-database-what-other-person-order/#findComment-1203040 Share on other sites More sharing options...
le_che_83 Posted November 22, 2011 Share Posted November 22, 2011 hola I want to do the same thing can you post the solution please thank you Link to comment https://forums.phpfreaks.com/topic/233993-how-to-send-to-my-database-what-other-person-order/#findComment-1290583 Share on other sites More sharing options...
Pikachu2000 Posted November 22, 2011 Share Posted November 22, 2011 Perhaps you hadn't noticed, but this thread is over 7 months old. If you have a similar question, start a new thread and include your code and any error messages you're getting. Link to comment https://forums.phpfreaks.com/topic/233993-how-to-send-to-my-database-what-other-person-order/#findComment-1290587 Share on other sites More sharing options...
le_che_83 Posted November 22, 2011 Share Posted November 22, 2011 thank for reply ! it is the same code : my question ? : " I would like to save the order and not go to paypal, I would like to know what and how to create table recover the value of my cart! it's been one week that I try I can not. how to recover the variable cart and save? sorry I made a translation from French (google) Link to comment https://forums.phpfreaks.com/topic/233993-how-to-send-to-my-database-what-other-person-order/#findComment-1290615 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.