Jump to content

php Cart


Pavlos1316

Recommended Posts

Hello,

 

I got my hands in a php tutorial about creating a custom cart using only php. The thing is that, the code is working like that:

1. you see the items in the items.php page

2. you click on an item to open it in a new page and see full description

3. the add button is in the specific item's page and that's how the code works. Grabs the URL' s id variable and then get's processed.

 

What I want:

1. To modify the code a little bit in order to have the add button into the into my items.php page so I skip the view full description link (I just don't like it as a requirement to add something to cart)

 

But somewhere on my way there I got lost... Here are the codes (as they work in original script):

For adding an item:

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: ../p_cart.php"); 
    exit(); 
}

The check URL variable & the Add Button (both at the same page) the link of "View All Details" looks like this in order for this to work: <a href="specitem.php?id=1"> so it grubs the URL' s id and executes the code (something that I don't want) I want to take the id from my item form.

<?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_name = $row["product_name"];
		 $price = $row["price"];
		 $details = $row["details"];
		 $category = $row["category"];
		 $subcategory = $row["subcategory"];
		 $date_added = strftime("%b %d, %Y", strtotime($row["date_added"]));
         }

} else {
	echo "That item does not exist.";
    exit();
}

} else {
echo "Data to render this page is missing.";
exit();
}

<form id="form1" name="form1" method="post" action="cart.php"> 
        <input type="hidden" name="pid" id="pid" value="<?php echo $id; ?>" /> 
        <input type="submit" name="button" id="button" value="Add to Shopping Cart" />
       </form>

 

Link to comment
https://forums.phpfreaks.com/topic/236756-php-cart/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • 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.