So I have the site setup to add products to cart, the products get implemented to cart.php... I just need the customer to have the option to pick style , size, and color. and it show up in the cart.php fields for me to see.
I know how to make the html form fields but thats about as far as I go... with much tampering for hours on end to no avail its time to ask the pros......
You can see what I have done, I will leave the site unchanged for now, so whomever would like to take a stab at this can see what i am working with here....
www.shirtstash.com
code as follows
Option fields - Product Page
<form id="form1" name="form1" method="post" action="cart.php">
<input type="hidden" name="pid" id="pid" value="<?php echo $id; ?>" />
<table>
<tr>
<td>
<input type="hidden" name="on0" value="Style"></td>
<input type="radio" name="gender" value="Mens">Mens
<input type="radio" name="gender" value="Womens">Womens
</td>
</tr>
<tr>
<td>
<input type="hidden" name="on0" value="Size">Size</td>
<td>
<select name="os0">
<option value="Small">Small
<option value="Medium">Medium
<option value="Large">Large
<option value="Large">XLarge
<option value="Large">XXLarge
</select></td>
</tr>
<tr>
<td>
<input type="hidden" name="on1" value="Color" maxlength="200">Color</td>
<td> <select name="os0">
<option value="Small">White
<option value="Medium">Blue
<option value="Large">Green
</select></td>
</tr>
<tr>
<td>
<input type="hidden" name="on0" value="Size">Shipping</td>
<td>
<select name="os0">
<option value="Small">Standard + Free
<option value="Medium">2 Day + $2.00
<option value="Large">Overnight + $5.00
</select></td>
</tr>
</table>
<a href="cart.php"><input type="image" src="/styles/images/paypal.jpg" width="200" border="0" name="submit" alt="Make payments with PayPal - it's fast, free and secure!"></a>
</form>
Cart 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 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 = '<div id="carthead"><p>"Your shopping cart is empty"</p></div>';
} 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="you@youremail.com">';
// 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 = money_format("%10.2n", $pricetotal);
// 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 = money_format("%10.2n", $cartTotal);
$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="https://www.yoursite.com/storescripts/my_ipn.php">
<input type="hidden" name="return" value="https://www.yoursite.com/checkout_complete.php">
<input type="hidden" name="rm" value="2">
<input type="hidden" name="cbt" value="Return to The Store">
<input type="hidden" name="cancel_return" value="https://www.yoursite.com/paypal_cancel.php">
<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>';
}
?>
from the above I think I should manipulate this
$_SESSION["cart_array"] = array(0 => array("item_id" => $pid, "quantity" => 1,));
to this BUT I do not know how to implement the variables / arrays.
$_SESSION["cart_array"] = array(0 => array("item_id" => $pid, "quantity" => 1,"size"=>$size,"color"=>$color,"style"=>$style));
Cart html
<table width="100%" border="1" cellspacing="0" cellpadding="6">
<tr>
<td width="18%" bgcolor="orange"><strong>Product</strong></td>
<td width="37%" bgcolor="orange"><strong>Product Description</strong></td>
<td width="10%" bgcolor="orange"><strong>Unit Price</strong></td>
<td width="9%" bgcolor="orange"><strong>Quantity</strong></td>
<td width="9%" bgcolor="orange"><strong>Style</strong></td>
<td width="9%" bgcolor="orange"><strong>Size</strong></td>
<td width="9%" bgcolor="orange"><strong>Color</strong></td>
<td width="9%" bgcolor="orange"><strong>Total</strong></td>
<td width="9%" bgcolor="orange"><strong>Remove</strong></td>
</tr>
<?php echo $cartOutput; ?>
<!-- <tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr> -->
</table>
Thats all the code I know to post... If am missing a block pls tell me and I will grab it.