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
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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