Sessions werden nicht übergeben

Chronix

Erfahrenes Mitglied
Hi!
Ich habe mal mit der sessions-verwaltung von php rumprobert, bin aber bei mir auf die schwierigkeit gestoßen, dass die session-id und die daten nicht zwischen 2 Dokumenten übergeben werden!

PHP:
   session_start();
   $_SESSION['userID'] = $row['id'];
   $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
   $_SESSION['name'] = $row['name'];
   $_SESSION['access'] = $row['access'];
dieser Code wird ausgeführt, wenn der user sich einloggt.

Anmerkung: $row ist ein Array, dass daten aus einer MySql-Abfrage enthält.

Jetzt sollten doch eigentlich automatisch ein Cookie gesetzt, oder die SessionID in der Form "session_name().'='.session_id()" an relativ url`s angehängt werden oder?

Ich habe auch versucht die sessionID per hand an alle links anzuhängen, dann jedoch findet die nächste Seite die ich aufrufe die Session Daten nicht!

Als System benutze ich XAMPP, habe in der php.ini bisher nur die transparenten ip`s auf ein gestellt, weil mir das nach dem manual für mein Problem sinnvoll erschien!
Hat jemand eine Ahnung wie ich mein Problem beheben kann, oder mache ich einfach nur einen Denkfehler?

Anhang: (der Test in der Datei die per Link aufgerufen wird)
PHP:
if( isset($_SESSION['ip']) )
   {
   echo('Test erfolgreich');
   }

Anmerkung: der gepostete code ist jeweils der Teil der Seite, der sich um sessions dreht bzw. wo ich sessions-funktionen verwendet habe! der Rest sollte für die Sessions unerheblich sein.
 
Zuletzt bearbeitet:
Hast du schon mal das $row Array überprüft, ob das überhaupt Daten reinkommen?

Tobee
 
ja! Habe auch zu testzwecken mal keine ausgabe dieses Arrays oder soetwas, sondern einen selbst hinngeschriebenen String genommen!
Der wurde ebensowenig übergeben!
 
Genau das, was er sollte!
Hab zum Test gerademal vor dem speichern in $_SESSION die daten ausgeben lassen und die sind in Ordnung

Glaubt ihr denn es liegt an der mySQL abfrage? Ich hatte ja die Daten aus der Abfrage auchschon durch per Hand eingegebene ersetzt, mit dem selben Ergebnis.
 
Zuletzt bearbeitet:
wo werden die Sessiondaten gespeichert? Also die Session selbst?

session_save_path(); ?

Prüf doch, ob die Session überhaupt gespeichert wird.

echo $_SESSON['vars'];

Wenn nicht, ist der save_path ausschlaggebend.
 
echo $_SESSON['vars'];

gibt nie eine Ausgabe!
Also liegts am save-Pfad?
Die Sessions werden im "tmp" ordner von xampp gespeichert!
Auf was sollte ich es denn mal ändern?
 
Du musst einen Pfad angeben, der tatsächlich existiert. Der Initialwert ist meist „/tmp“. Doch auf Windowssystemen existiert solch ein Verzeichnis nicht, da diese mit dem Laufwerkbuchstaben anfangen.
Wenn du die Fehlermeldungssensibilität PHPs auf die höchste Stufe setzt (siehe error_reporting()-Funktion), sollte eine Fehlkonfiguration eigentlich eine Fehlermeldung erzeuge.
 
Habe das mit der Fehlersensibilität nicht hoch gestellt aber mal nachgeschaut.. das Verzeichnis existiertnund darin liegen auch ASCII-Dateien der Sessions.

Dateinamen: "sess_{session-ID}"

Also werden die Sessions doch korrekt abgespeichert!
Wenn ich mich einlogge wird zumindest eine neue Datei mit der entsprechenden Session_ID angelegt! also ist die Speicherung wohl nicht das Problem, eher das weitergeben an das nächste Dokument oder bzw. das erkennen im Dokument?
 
Wie sieht denn die aktuelle Sitzungskonfiguration aus? Falls die Übergabe der Sitzungs-ID per Cookies geschehen soll, musst du prüfen, ob diese auch tatsächlich gesetzt werden.
 
Zurück