- Wie verhält es sich, wenn von einem Rechner zwei Logins mit unterschiedlichen Benutzerangaben stattfinden (unterschiedliche Personen)? Muß vor session_start() mit session_name() eine Name gesetzt werden, damit unterschiedliche Cookies gesetzt werden? Wenn diese Vorgehensweise richtig ist, kann dann ein zweiter Benutzer desselben Rechners trotzdem irgendwie in die Session des ersten Benutzer reinkommen? Wie kann das Skript nach dem Einloggen unterscheiden, auf welchen Cookie es zugreifen soll? Muß es in einer Session-Variable eine Kennung für den Nutzer mitspeichern, um danach den richtigen Nutzer zu erkennen? Wenn im Cookie dauerhaftes Eingeloggt-bleiben vermerkt wurde, wie sieht es dann aus? Ein praktisch denkbarer Fall: In einer WG benutzen verschiedene Personen denselben E-Mail-Provider oder Ebay und lassen den Einlogstatus vom Browser speichern (keine Ahnung, ob E-Mail-Provider wirklich Cookies setzen, nur mal hypothetisch angenommen. Ebay setzt jedenfalls Cookies zum Status, den Inhalt weiß ich nicht).
Also das Session-System von PHP basiert überhaupt nicht auf Cookies. Man kann zwar dieses System mit Cookies ersetzen, dies bringt jedoch einige Nachteile gegenüber der ersteren Variante. Die Sache mit den Sessions basiert darauf, dass an die URI noch etwas angehängt wird, nämlich die sehr lange SessionID. Aufgrund dieser ID kann das Script dann auf bestimmte Variablen zugreifen, sprich den User erkennen. Jedesmal, wenn die komplett identische URI (also mit derselben SessionID) aufgerufen wird, wird der User erkannt, egal ob die Anfrage von derselben IP ausgeht oder nicht (ausser man baut im Script eine entsprechende Kontrolle ein).
Zu dem Cookie-und-verschiedene-PC-Benutzer-Problem: Bei Windows XP gibt es ja verschiedene Benutzerkonten. Modernere Browser speichern daher Cookies benutzerabhängig. Wenn das nicht geht: Dauerhaftes eingeloggt-bleiben eben nicht möglich.
Zu 3.:
Da ich sowieso ein System mit Sessions (siehe oben) empfehlen würde, stellt sich dieses Problem nicht.
mfg
Rato