Jump to content

shopping cart + sessions


teejayy1013

Recommended Posts

hey guys, I've been trying to get a shopping cart going and I'm having issues deleting items from it ONLY when the quantity of the item in the shopping cart is 1.

If the quantity is 2+, it successfully deletes an item and decreases the quantity in the cart.

 

Here is my code:

<?session_start();
if(isset($_POST['submittedFormTest'])){
if(isset($_POST['deleteCart'])){
	deleteFromCart();	
}
updateCart();
displayCart();
displayCheckOut();
}else{
displayCart();
displayCheckOut();
}
function updateCart(){
global $movieID;
global $quantity;
$movieID=$_POST['movieID'];
//query the database, delete 1 movie from available column.
$dbc= mysqli_connect() OR die ('Could not connect to MySQL: ' . mysqli_connect_error());
$query="SELECT AmtAvailable FROM video WHERE MovieID='$movieID'";
$result=mysqli_query($dbc, $query);
$row=mysqli_fetch_array($result, MYSQLI_ASSOC);
$amtAvailable = $row['AmtAvailable'];
$amtAvailable=$amtAvailable - 1;
$query="UPDATE video SET AmtAvailable = '$amtAvailable' WHERE MovieID = $movieID";
$result=mysqli_query($dbc, $query);
$query="SELECT m.Title, v.NewRelease FROM movie as m JOIN video as v on m.MovieID=v.MovieID WHERE m.MovieID='$movieID'";	
$result=mysqli_query($dbc,$query);
$row=mysqli_fetch_array($result, MYSQLI_ASSOC);
$title=$row['Title'];
$newRelease=$row['NewRelease'];
$quantity=1;
if($newRelease==0){
	$price=3.99;
}else{
	$price=4.99;
}
$_SESSION['cart'][$movieID]=array('movieID'=>$movieID,'price'=>$price,'title'=>$title, 
'quantity'=> $_SESSION['cart'][$movieID]['quantity'] + $quantity,
'total'=>$_SESSION['cart'][$movieID]['quantity']*$_SESSION['cart'][$movieID]['price']+$quantity*$price);
}

function deleteFromCart(){
global $movieID;
global $quantity;
$movieID = $_POST['movieID'];
$quantityInCart = $_POST['quantity'];
$newQuantity = $quantityInCart - 1;
if($newQuantity == 0){
	unset($_SESSION['cart'][$movieID]['quantity']);
	unset($_SESSION['cart'][$movieID]['movieID']);
	unset($_SESSION['cart'][$movieID]['title']);
	unset($_SESSION['cart'][$movieID]['price']);
	unset($_SESSION['cart'][$movieID]['total']);

}else{
	$_SESSION['cart'][$movieID]['quantity'] = $newQuantity;
}
$host  = $_SERVER['HTTP_HOST']; 
$uri  = rtrim(dirname($_SERVER['PHP_SELF']), '/\\'); 
header("Location: http://$host$uri/shoppingCart2.php");	

}

function displayCart(){
?>
		<table border=1>
			<tr><td>Quantity</td><td>MovieID</td><td>Title</td><td>Price Each</td><td>Total</td><tr>
<?	
	foreach($_SESSION['cart'] as $movieID => $value){
			$quantity=$_SESSION['cart'][$movieID]['quantity'];
		echo "<tr><td>{$_SESSION['cart'][$movieID]['quantity']}</td>
			<td>{$_SESSION['cart'][$movieID]['movieID']}</td>
			<td>{$_SESSION['cart'][$movieID]['title']}</td>
			<td>{$_SESSION['cart'][$movieID]['price']}</td>
			<td>{$_SESSION['cart'][$movieID]['total']}</td>";
			deleteFromCartButtons();
			"</tr>";
			$subtotal=$subtotal + $_SESSION['cart'][$movieID]['total'];
	}
	echo '</table></br>';	
	$tax=5/100*$subtotal;
	$total=number_format($subtotal+$tax,2);
	$_SESSION['total']=$total;

echo "Your subtotal is: $" . $subtotal . "</br>";
echo "The tax is: $". number_format($tax,2) . "</br>";
echo "Your Total is: $". $total. "</br></br>";

}

function deleteFromCartButtons(){
global $movieID;
global $quantity;?>
	<form method='POST' action='shoppingCart2.php'>
	<td><input type='submit' name='delete' value='Delete'></td>
	<input type='hidden' name='movieID' value='<?echo $movieID?>'>
	<input type='hidden' name='quantity' value='<?echo $quantity?>'>
	<input type='hidden' name='deleteCart' value='TRUE'>
<?}

function displayCheckOut(){
$dbc= mysqli_connect(connection) OR die ('Could not connect to MySQL: ' . mysqli_connect_error());
$CustName = $_COOKIE['customerName'];
$query = "SELECT MemberID, CustName FROM customer WHERE CustName = '$CustName'";
$result = mysqli_query($dbc, $query);
while($row=mysqli_fetch_array($result,MYSQLI_ASSOC)){
	$memberID=$row['MemberID'];
}
?>
<form method='POST' action="CheckOut.php">
<table border=0>
	<tr><td>Member ID: </td><td><?echo $memberID;?></td></tr>
	<input type ='hidden' name='memberID' value='<?echo $memberID?>'>
	<tr><td>Name:</td><td><input type=text name='CustName' value='<?echo $CustName?>' size=30></td></tr>
	<tr><td>Email:</td><td><input type=text name='EmailAddress' size=30></td></tr>

	<tr><td><input type='submit' value='Confirm Order'></td></tr>
	<input type="hidden" name="submittedFormTest" value="TRUE"/>
</table>
</form>
<?}?>

Link to comment
https://forums.phpfreaks.com/topic/135584-shopping-cart-sessions/
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.