Sky: Doppelte Einträge

Beitrag lesen

Hallo Jessica!

<a href="$PHP_SELF?id=auswahl&aktion=buy&cat=".$cat."&pid=".$id."&".SID."">
<img border="0" src="../img/warenkorb.gif" alt="Bestellen"></a>

if ($aktion == "buy")
  Artikel in den Warenkorb ...

Ich gehe mal davon aus, dass du den Warenkorb in eine Session speicherst und nicht schon in eine Datenbank?

Ich würde das Problem so lösen:
Annahme: $cat = Katalog/Artikel-Kategorie
         $pid = Produkt-ID
         Dem Warenkorb wird anscheinend immer nur ein Stück
         hinzugefügt bzw. der Benutzer kann nicht explizit die
         Anzahl angeben?

$_SESSION["Warenkorb"][$cat][$pid] = (isset($_SESSION["Warenkorb"][$cat][$pid])) ? 1 : $_SESSION["Warenkorb"][$cat][$pid]++;

Mit einer foreach-Schleife kannst du dann bei einer Kauf-Bestätigung den Warenkorb auslesen.

Alternativ kann man -- wie es bereits von anderen gepostet wurde -- auch dem Formular eine eindeutige ID vergeben.