Befor es das Modul Session beim Webserver gab, hat man sich seine Session selber geschrieben. Bei Auslieferung der ersten Seite legt man eine eindeutige Session ID in der Datenbank Users Tabelle Session an.
Diese ID hängt man an die URL oder als hidden feld (nix mit coockie) .
Beim nächsten aufruf, gugt man ob so eine ID vorhanden ist, prüft sie gegen die Datenbank ob sie existiert. Daten die man zwischenspeichern will (z.b. ein warenkorb) speichert man erstmal in der session . Dann wenn der Kunde Bestellen klickt, erst dann speichert man alle daden der session im bestellsystem und löst die bestellung aus .
Sessions sind gespeicherte Daten auf dem Server der durch eine ID ansprechbar ist. Ob die nun in einer Datenbank oder in Dateien gespeichert werden, liegt am erfinder , beides führt zum gleichen erfolg.
Und coockies ist eher neumodischer Kram . Das macht die sache dem Programmierer einfacher und offt auch unsicherer (weil autologins ), mehr auch nicht. Wer dein Browser hackt hat dann auch den zugriff.
Problem mit URL SID ist immer das entweder die IP geprüft werden muss oder die SID ein halbarkeitsdatum haben muss, denn sonst kann man einfach den server mit geügend SIDs spam und hat dann recht schnell ein user login.
Und genau wegen diesen ganzen umständene sollte man gut prüfen ob man selber solche sicherheitsrelewanten Dinge selber programmiert , sonst kommt sowas wie Sony Playerstation Network oder Facebook dabei raus .
Aber deine Erklärung lässt eh vermuten das du einfach die Grundlage von dem was du da machst nicht verstanden hast, ausser das du session_start() schreibst . Schön das man das so einfac nutzen kann , aber verstehen sollte man es dennoch . Weil wenns mal nicht geht , welche gründe auch immer, bist du ja hilflos .
Fazit : Für das was du da machst brauchst du doch eigentlich gar keine Session . Aus früherer sicht ist das fast wie mit Kanonen auf Spatzen schiessen.