Walter: PHP4 und Session_Verwaltung

Hallo,

ich hab ein Problem mit dem neuen Sessionverwaltung unter PHP4:

Ich möchte die Möglichkeit nutzen neben der SessionID auch Variablen über
die SessionID mitzuschleifen.

==============

1.Seite:
------------------------------------------------------------------
$check=1;
session_start();                              
session_register(check);
echo('<a href="2.php?'.session_name().'='.session_id().'">Seite 2</a>');

2.Seite:
------------------------------------------------------------------
session_start();
echo ("<b>Session_Id:</b> ".session_id());
echo ("<br>");
echo ("<b>Session_name:</b> ".session_name());
session_decode($check);
echo($check);

==============

Meine Fragen dazu:

Warum bekomme ich auf der Seite 2 die SessionId (und damit die Variable) nur dann
wieder zurück, wenn ich erneut "Session_start()" aufrufe ???

Wenn ich die Seiten so teste, dann kann ich auf der ersten Seite zwar den Session_Namen
ändern, aber auf der zweiten Seite wird trotzdem der Standard: PHPSESSID verwendet !!
Wie kann ich den Namen dauerhaft ändern ??

Ich habe auch versucht die Session auf der 2.Seiten zu 'destroyen'. Diese Funktion
zu benutzen ist mir aber noch gar nicht gelungen ;-(

Ich habe schon 2 Bücher gewälzt, aber die Funktionen scheinen alle nicht so zu
funtkionieren, wie sie beschrieben wurden...

Vielen Dank im voraus,

Walter

  1. Hallo Walter,

    ich hab mich auch grad damit rumgeschlagen, und wenn Du mich fragst, bin ich entweder zu blöd oder die Doku die existiert ist noch etwas unverständlich. Anhand dieses kleinen Beispiels (kopiert aus einer Doku) habe ich es dann geschafft, einigermassen zu verstehen was passiert:

    <?php
    session_register ("count");
    $count++;
    ?>

    Hello visitor, you have seen this page <? echo $count; ?> times.<p>

    <php?

    the <?=SID?> is necessary to preserve the session id

    in the case that the user has disabled cookies

    ?>

    To continue, <A HREF="nextpage.php?<?=SID?>">click here</A>

    Der Witz ist, auf jeder Seite, muss vor jeder AUsgabe erstmal session_start() oder session_register() aufgerufen werden. Die Session ID sollte Dich erstmal nicht weiter kümmern, mit session_register registrierte Variablen nehmen die Daten auf. Normalerweise wird die session ID über cookies übermittelt, deshalb das session_start am ANfang jeder Seite, das liest den cookie aus, falls es auch bei abgeschalteten Cookies gehen soll muss Du das mit dem Link wie in dem Beispiel machen.
    Wenn Du dich nicht weiter drum kümmerst, wo die Daten der Session landen, werden sie in textdateien abgelegt, irgendwie kann man aber auch auf eine Datenbank schreiben, oder sie im Arbeitsspeicher ablegen soweit bin ich aber noch nicht vorgedrungen.
    Das Session_decode kannst Du dir glaub ich sparen, auch Session Id und Session Name brauchen Dich nicht zu interessieren, der gleiche NAme der Variablen und ein session_start() reichen, und die Sessionvariablen stehen zur Verfügung.

    Gruss

    Marko

    1. Hallo,

      ich hab mich auch grad damit rumgeschlagen, und wenn Du mich fragst, bin ich entweder zu blöd oder die Doku die existiert ist noch etwas unverständlich. Anhand dieses kleinen Beispiels (kopiert aus einer Doku) habe ich es dann geschafft, einigermassen zu verstehen was passiert:

      Es gibt also auch noch für mich Hoffnung ;-))

      Danke erstmal für deine Tipps !!
      aber wie kann ich denn nun eine Session beenden. Ich möchte bei einem Loggout
      wirklich alles vernichten !!

      bis dann,

      Walter