Jump to content

[SOLVED] Adding Quanity To Databaseless shopping cart


TheJoey

Recommended Posts

i currently working with this very simple

but im having trouble trying to implement qty amount into it.

 

Also another trouble im having it once i add a item i cant add another one.

 

Hope you guys can help.

Thanks in advance

<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');

session_start();

$_SESSION['shopping_cart'] = array();

// And then to add items...

$_SESSION['shopping_cart'][] = "Ball";

$_SESSION['shopping_cart'][] = "Shoe";

// And to echo them back out...

foreach($_SESSION['shopping_cart'] as $value);

?>
<html>
<body>
<table>
<tr>
<td><a href='<?PHP echo $_SERVER['REQUEST_URI']; ?>?action=add_to_cart&item=Ball'>Add Ball To Cart</a></td>
</br>
</tr>
<tr>
<td><a href='<?PHP echo $_SERVER['REQUEST_URI']; ?>?action=add_to_cart&item=Shoe'>Add Shoe To Cart</a></td>
</tr>
<tr>
<td><select name="qty"><option value="0">--</option><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option><option value="6">6</option></select></td></tr>
</tr>
</body>
</html>
<?php
if($_GET['action'] == "add_to_cart") {
  $_SESSION['shopping_cart'][] = $_GET['item'];
}
?>
<?php
foreach($_SESSION['shopping_cart'] as $key => $value) {
echo '<br> </br>';
echo $value . "<a href='" . $_SERVER['REQUEST_URI'] . "&action=remove_item&itemkey=" . $key ."'>Remove</a>";
}

if($_GET['action'] == "remove_item") {
unset($_SESSION['shopping_cart'][$_GET['itemkey']]);
}
$_SESSION['shopping_cart'] = array();
?>

<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');

session_start();

$_SESSION['shopping_cart'] = array();

// And then to add items...

 

just look at this for a second... everytime you load this page you are clearing $_SESSION[shopping_cart] by setting it equal to a blank array.

 

you need to replace

$_SESSION['shopping_cart'] = array();

with

$_SESSION['shopping_cart'] = (!isset($_SESSION['shopping_cart']))?array():$_SESSION['shopping_cart'];

VARIABLE=(CONDITION)?IF TRUE:IF FALSE;

 

same as

 

if (!isset($_SESSION['shopping_cart'])) {
  $_SESSION['shopping_cart'] = array();
}

 

so if session variable is already set (you added something to the cart) then dont set it if not then set it as a array...

 

i was bored...

 

 

<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
session_start();

$_SESSION['shopping_cart']=(!isset($_SESSION['shopping_cart']))?array():$_SESSION['shopping_cart'];

switch($_REQUEST['action']){
    case'add_to_cart';
        $_SESSION['shopping_cart'][$_POST['item']]['qty']=$_POST['qty'];
    break;
    case 'remove_item':
        unset($_SESSION['shopping_cart'][$_REQUEST['item']]);
    break;
}

?>
<html>
<body>


<form method="POST">
<input type=hidden name="action" value="add_to_cart" />
<input type=hidden name="item" value="Ball" />
Ball:
<input type="text" size=2 name="qty" />
<input type="submit" value="Add To Cart" name="submit" />
</form>

<form method="POST">
<input type=hidden name="action" value="add_to_cart" />
<input type=hidden name="item" value="Shoe" />
Shoe:
<input type="text" size=2 name="qty" />
<input type="submit" value="Add To Cart" name="submit" />
</form>


<b>CART</b>
<br />
<?php
foreach($_SESSION['shopping_cart'] as $item => $item_array) {
?>
<form method="POST">
<input type=hidden name="action" value="add_to_cart" />
<input type=hidden name="item" value="<?=$item;?>" />
<?=$item;?>:
<input type="text" size=2 name="qty" value="<?=$item_array['qty'];?>" />
<input type="submit"  value="Update" name="submit" />
<input type="button" onclick="window.location='http://<?php echo $_SERVER['SERVER_NAME'].$_SERVER['SCRIPT_NAME']; ?>?action=remove_item&item=<?=$item;?>';" value="Remove" name="remove" />
</form>
<br />
<?php
}
?>

</body>
</html>

oh short tags...

 

<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
session_start();

$_SESSION['shopping_cart']=(!isset($_SESSION['shopping_cart']))?array():$_SESSION['shopping_cart'];

switch($_REQUEST['action']){
    case'add_to_cart';
        $_SESSION['shopping_cart'][$_POST['item']]['qty']=$_POST['qty'];
    break;
    case 'remove_item':
        unset($_SESSION['shopping_cart'][$_REQUEST['item']]);
    break;
}

?>
<html>
<body>


<form method="POST">
<input type=hidden name="action" value="add_to_cart" />
<input type=hidden name="item" value="Ball" />
Ball:
<input type="text" size=2 name="qty" />
<input type="submit" value="Add To Cart" name="submit" />
</form>

<form method="POST">
<input type=hidden name="action" value="add_to_cart" />
<input type=hidden name="item" value="Shoe" />
Shoe:
<input type="text" size=2 name="qty" />
<input type="submit" value="Add To Cart" name="submit" />
</form>


<b>CART</b>
<br />
<?php
foreach($_SESSION['shopping_cart'] as $item => $item_array) {
?>
<form method="POST">
<input type=hidden name="action" value="add_to_cart" />
<input type=hidden name="item" value="<?php echo $item;?>" />
<?=$item;?>:
<input type="text" size=2 name="qty" value="<?php echo $item_array['qty'];?>" />
<input type="submit"  value="Update" name="submit" />
<input type="button" onclick="window.location='http://<?php echo $_SERVER['SERVER_NAME'].$_SERVER['SCRIPT_NAME']; ?>?action=remove_item&item=<?php echo $item;?>';" value="Remove" name="remove" />
</form>
<br />
<?php
}
?>

</body>
</html>

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.