Sessions

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Sessions

    Das Thema ist hier zwar schon oft durchgekaut worden, hab aber leider nciht wirklich ne hilfe gefunden.

    als erstes mal mein Skript (nur zum testen):
    <?php
    @session_start();
    ?>

    <html>
    <head><title>Untitled</title></head>
    <BODY BGCOLOR="#FFFFFF" style="font-family: verdana, helvetica, arial" topmargin="0" leftmargin="0" vlink="#0000FF" alink="#0000FF" link="#0000FF">

    <?=session_name()."<br>".session_id()?>

    </body></html>

    Das funktioniert auch soweit, jetzt aber meine Frage:
    Bei jedem aktualisieren im Browser wird eine neue SessionID erzeugt und die alten werden nicht mehr gelöscht, woran liegt das, bzw. ist das sogar richtig??

    Ich hab mal auf ein paar anderen seiten geschaut und dort passierte das nicht!

    Nochmal ein paar Einträge aus der PHP.INI:
    session.gc_maxlifetime = 30
    session.cache_expire = 1

    Mein Entwicklungssystem:
    Win2000 Prof, IIS 5, PHP 4.06 als CGI Modul.

    Sollte noch angaben fehlen, bitte Posten.

    Thx 2 All
    (schonmal im voraus :-)) )

  • #2
    Ist richtig..
    Da es die erste Seite ist wird bei aktualisieren keine SessionID übergeben (geschieht (meistens) unsichtbar) und der Server startet eine neue Session.

    Probier dies :
    <?php
    @session_start();
    ?>

    <html>
    <head><title>Untitled</title></head>
    <BODY BGCOLOR="#FFFFFF" style="font-family: verdana, helvetica, arial" topmargin="0" leftmargin="0" vlink="#0000FF" alink="#0000FF" link="#0000FF">

    echo "<a href=\"$PHP_SELF\">Link</a>";

    </body></html>

    Und die Session wird weitergeführt wenn du die richtig kompilierte Version von PhP hast. Dann wird an den Link automatisch die SessionID angefügt.

    Zum Löschen..
    Die Dateien werden nicht sofort gelöscht wenn die Session abgelaufen ist. Bei einem Zugriff wird das automatisch erkannt. Hat mich auch etwas Zeit gekostet das zu verstehen.
    Normallerweise wird bei jedem 100. Zugriff ein Garbagecollect durchgeführt. Dann werden die Files gelöscht.
    Die Variable steht auch in der Php.ini und kann verändert werden.

    Kommentar


    • #3
      Ich hab den "Fehler", angehängt wird die SessionID immer, PHP ist richtig kompiliert. Der Effekt mit Aktualisieren == Neue SessionID tritt auf, wenn der Client das Cookie verweigert, dann kann er die SessionID ja nicht lokal speichern, d.h. dann auch nicht reinitialisieren!

      Thx

      MoRtAlAn

      Kommentar

      Lädt...
      X