Sessions

Hallo,

ich übe mich gerade mit Sessions.

Angenommen ich verwende keine Cookies und übergebe die Session-ID per GET oder POST an eine zweite php-Datei. Wie kann ich in dieser Datei dann die Session fortführen, bzw. auf die Session-Variablen zugreifen, die in der ersten Datei erstellt wurden? Mit session_id($_GET[‚PHPSESSID‘]); scheint es nicht zu klappen… siehe php-manuel:

Beschreibung
string session_id ([string $ID] )

session_id() wird verwendet, um die Session-ID der aktuellen Session zu erhalten oder zu setzen.

Wie kann ich also nun die Session fortführen, deren ID ich übergebe?

Danke schonmal,
Rogge

Hast Du die Session korrekt mit session_start(); gestartet? Dann sollte sich das PHP eigentlich alleine um die Verwaltung und Fortführung der Session kümmern und dann kannst Du mit $_SESSION(‚variablenname‘) auf die Sessionvariablen zugreifen.

Wenn Du in Deinem Beispiel mit session_id die Session ID manuell setzen willst, woher nimmst Du die? Wie übergibst Du die ID an die Seite?

Hi Rogge,

Wie kann ich also nun die Session fortführen, deren ID ich
übergebe?

Durch Ausführen von session_start(). Diese Funktion sucht nach der Sessionid in den Superglobals $_COOKIE, $_GET und $_POST. Es reicht also, wenn Du einen Wert mit dem Namen der Session (session_name()) mit dem Value der sessionid (session_id()) übergibst.

Hi Rudy,

Durch Ausführen von session_start(). Diese Funktion sucht nach
der Sessionid in den Superglobals $_COOKIE, $_GET und $_POST.
Es reicht also, wenn Du einen Wert mit dem Namen der Session
(session_name()) mit dem Value der sessionid (session_id())
übergibst.

[addAlert(SID);](seite2.php?%3C?php%2520echo%250D%250A:session_name().’=’.session_id();%2520?%3E&…%250D%250A:%250D%250A:Ciao%250D%250A:Rudy%250D%250A%250D%250AVielen%2520Dank,%250D%250A%250D%250Adas%2520funktioniert!%250D%250A%250D%250AMein%2520code%2520sieht%2520dann%2520so%2520aus,%250D%250A%250D%250A%3Cpre%3E%250D%250Aini_set()

$_SESSION[‚sid‘]=session_id();
$objResponse->addScript(„window.location.href='administration.php?“.SID."’");

Das $objResponse ist xajax.

Und die ‚administration.php‘ sieht dann so aus,

 session\_start();
 if(isset($\_SESSION['sid'])){
 echo "Du hast dich eingeloggt!";
 echo " deine session-id ist ".$\_SESSION['sid'];
 } else {
 echo " Du musst dich erst einloggen!!! ";
 }

Vielen Dank, und einen schönen Abend noch!

Rogge