Session ändern durch Login

Hi!

Ich suche eine Lösung für folgendes Problem:

Ein Anwender soll sich per Login identifizieren (Name, Passwort). Bei erfolgreichem Login erhält er eine Session-Id. Mit dieser Session-Id arbeiten dann die nachfolgenden Dialoge zur Identifizierung.

Wenn nun ein zweiter Anwender am selben Rechner (ohne Beendigung der Internetverbindung) die Login-Seite aufruft und sich mit seinem Namen und seinem Passwort identifiziert, darf die bisherige Session-Id natürlich nicht weiter verwendet werden. Also habe ich mir Folgendes überlegt:

Prüfe Login-Name und Login-Passwort

Wenn Eingaben richtig,
Prüfe, ob Session-ID vorhanden

Wenn Session-ID vorhanden
Beende Session mit session_destroy()
Ende Wenn

Starte Session mit session_start()
Merke Session-ID

Sonst

Fehlermeldung

Ende Wenn

Funktioniert aber nicht, weil die Session-ID unabhängig vom Login immer gleich ist (zumindest auf der Testebene unter „localhost“).

Wie löst man das Problem?

Grüße
Heinrich

Funktioniert aber nicht, weil die Session-ID unabhängig vom
Login immer gleich ist (zumindest auf der Testebene unter
„localhost“).

was heisst funktioniert nicht? mit session_destroy werden alle sessionvariablen geloscht.
ansonsten http://php.net/session-regenerate-id.php

Hallo

Funktioniert aber nicht, weil die Session-ID unabhängig vom
Login immer gleich ist (zumindest auf der Testebene unter
„localhost“).

Das ist klar. Mit session_start() setzt du die Session fort, die durch eine COOKIE-, GET- oder POST-Variable angegeben wird. Nur wenn diese Angabe fehlt, wird eine neue SessionId erzeugt. Da beim Aufruf der Passwortüberprüfungsseite die alte Session noch aktiv war, ist auch die SessionId übermittelt und wird gleich weiterbenutzt. Das macht aber nichts, denn mit session_destroy() wird die Session geleert.

Hi,
verstehe nicht was du meinst. Eine Session hängt doch sowieso nicht an einer IP sondern am benutzten Browser. Wenn einer sein Browser nicht schließt und der nächste benutzt seine Session - Pech gehabt. Wenn er aber den Browser schließt, bekommt der Nächste aber sowieso eine neuen Session. Wozu also der Aufwand?

Gruss
Quaser