genau so hatte ich es mir auch gedacht, nur das wenn ich auf den 2 oder 3 link geklickt hab er dann die alten überschrieben hat. da müsste man im prinzip nur einen counter einbauen, oder, so dass es immer eine neue variable ist $save = $add.$counter;
Musst Du gar nicht. Du liest einfach zu Beginn des PHP-Skriptes die bisher gespeicherten Variablen in der Session aus. Eine davon sollte $cart[] sein, der Du dann den Inhalt von $add übergibst (beim ersten Aufruf natürlich beide leer, was Du berüksichtigen musst). In den neuen PHP-Versionen wird $_session["cart"] dann sogar ohne weiteres Zutun aktualisiert.
Also etwa so (Rohkost!):
session_start();
$tmp_cart[]=$_SESSION["cart"];
if (isset($_GET["add"])) { $tmp_cart[]=$_GET["add"]; $_SESSION["cart"]=$tmp_cart; }
$add kann dann in der Folge ruhig überschrieben werden.
btw: Ein Warenkorb ist definitv _nicht_ der leichteste Einstieg, sich mit Sessions auseinander zu setzen!
Welche PHP-Version nutzt Du?