J'ai eu dans un projet de mine est un problème pour lire une valeur dans la session que j'avais déclaré dans un fichier dans un autre fichier de la session. La session était vide. L'exemple:

Le fichier "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