Entwickler-Ecke

Programmiersprachen (Server) - session_regenerate_id liefert immer false


Heiko - So 28.10.07 19:39
Titel: session_regenerate_id liefert immer false
Hallo,

ich habe folgenden Code:

C#-Quelltext
1:
2:
3:
4:
    if (empty($_REQUEST['SRS'])) {
      session_regenerate_id(true);
      $this->sessionID = session_id();
    }else $this->sessionID = session_id($_REQUEST['SRS']);

allerding liefert mir session_regenerate_id immer false zurück.

Weiß einer von euch wieso?


Christian V. - Mi 31.10.07 18:07

Wenn du keine Session-id mitschickst, dann, kann php deine alte Session ja auch nicht löschen.
Du hast ja sicher irgendwo session_start(); drin, damit wird automatisch eine Neue erzeugt, falls keine Session-id mitgegeben wird, ansonsten wird die Bestehende wieder aufgenommen.


Heiko - Mi 31.10.07 20:53

Hallo Christian,

deine Aussage ist korrekt, aber session_id() liefert erst einen neue sid zurück, sobald die Session geöffnet wurde. Im Öffnungsprozess leider nicht - und genau da brauche ich die schon (für nen alternativen Sessionhandler eben).
Allerdings habe ich das Problem inzwischen gelöst (selber ne sid erzeugt ;) ).

Grüße
Heiko


Christian V. - Mi 31.10.07 22:57

Zitat:
deine Aussage ist korrekt, aber session_id() liefert erst einen neue sid zurück, sobald die Session geöffnet wurde.

Ich ging von der Annahme aus, dass du zu beginn session_start() stehen hast. Somit währe eine session-id erzeugt worden.


Heiko - Do 01.11.07 15:21

Das hatte ich nicht bedacht, als ich den Beitrag schrieb ;).