Hallo,
Du hilfst mir sehr weiter! :-)
Dafür sind das Forum und ich da ;-)
Wenn ich mich als User im Shop einloge und eine Bestellung in
$_SESSION['warenkorb'] = array("Art_Nr=111&anzahl=11","Art_Nr=222&anzahl=33");
ablege was ist denn wenn zur gleiche Zeit ein andere User eine Bestellung durchführt ich möchte nicht das der meine Session Variable überschreibt.
Das kann eigentlich nicht passieren (Ich ignoriere jetzt einmal die Tatsache, dass sich jedes System auch hacken lässt). Das Session Handling in PHP läuft mehr oder wenige so ab:
Ein User A kommt auf eine Seite, auf der session_start() aufgerufen wird. PHP überprüft nun, ob die Session ID im Cookie oder in der URL (&PHPSESSID=12345678abcde) vorhanden ist. Ist sie nicht vorhanden, erhält der User eine neue Session ID, und sollte eine Session ID vorhanden sein, wird mit der alten Session ID gearbeitet.
Du magst dich fragen, ob der User jetzt nicht im Cookie Session Variablen ändern kann. Kann er nicht, weil nur die Session ID im Cookie steht. Die eigentlichen Session Daten liegen in einer Datei auf dem Server.
Sollte jetzt User B auf die selbe Seite gehen, liefert er keine korrekte Session ID und es wird bei ihm darum wieder eine neue Session gestartet.
gruß,
Severin
Realität ist das, was nicht verschwindet, wenn man aufhört, daran zu glauben.
--Philip K. Dick