I've had in a project of mine is a problem to read a value from the session that I had declared in a file in another file from the session. The session was empty. The example:

The file "login.php":

$_SESSION['user'] = 'Herbert';

header(“Location: start.php”);

In der Datei “start.php”:

session_start();
print_r ($_SESSION);

Die Ausgabe war dann “Array()” (also ein leeres Array). Eine PHPSESSID bestand aber (SID wurde also angelegt). Woran lag das?

Dieser Artikel hat mir geholfen, der besagt, dass der Webuser keine Berechtigung hat in die “/var/sessions” zu schreiben (sollte man mit “chmod 777 /var/sessions” beheben oder mit seinem Provider absprechen). Desweiteren hat der Artikel mir gezeigt, dass man auch die SID per URL übertragen kann (wenn Cookie-basiertes Handling nicht zur Verfügung steht). Dazu muss SID dann als erstes nach dem “?” in der URL angegeben werden (Bsp.: “daten.php?sid=12&weitere=angaben….”).

Ansonsten kann man (wenn der Provider das zur Option stellt) noch in der php.ini folgende Angaben machen:

session.use_only_cookie = 0

session.use_trans_sid = 1

session.use_cookie = 1