php kundorg session problem adding and removing

Permalänk
Medlem

php kundorg session problem adding and removing

Hejsan har stött på ett väldigt irreterande problem som jag behöver hjälp med.

<?php $product_id = $_GET[id]; //the product id from the URL $action = $_GET[action]; //the action from the URL switch($action) { //decide what to do case "add": if (array_key_exists($product_id,$_SESSION['cart'])){ echo "This item has allready been added"; break; } else{ $_SESSION['cart'][] = $product_id; //add $product_id to session ['cart']. break; } case "remove": unset($_SESSION['cart'][$product_id]); //unset the value break; case "empty": unset($_SESSION['cart']); //unset the whole cart, i.e. empty the cart. break; } ?>

vill bara kunna adda 1 produkt enbart en gång

if (array_key_exists($product_id,$_SESSION['cart']))

ska ska lösa detta men det funkar bara ibland? Ibland så kan jag adda 3-4 produkter?

Vill sen ta bort den produkt som jag lagt till. Har kodat detta exemplet,men det fungerar ej och jag förstår ej varför?

<a href=\"$_SERVER[PHP_SELF]?action=remove&id=$product_id\">Remove</a></td>";

case "remove": unset($_SESSION['cart'][$product_id]); //unset the value break;

Kan någon förklara vad jag gör fel?

Mvh

Visa signatur

AMD OPTERON athlon 3800 x2. DFI LANPARTY nforce 4ULTRA D, 2x1 gig twinmos Chassi Themlake 3,3| GC = Powercoler x850 XT Vivo, Logitech G15, Aiwa surround System, NEC DVD Burner, 1 x 1 x 200 gig 1x500 gigmaxtor SATA 1, 1 x180 gig Western Digital 1x320 western

Permalänk
Medlem

Du lägger till product_id som value istället för key.

$_SESSION['cart'][] = $product_id;

Ändra till

$_SESSION['cart'][$product_id] = 1;

Permalänk
Medlem

Använd den tråd du redan skapat istället för att skapa en ny. Det skapar irritation bland andra läsare och kan leda till att de avstår från att hjälpa dig.