Ankündigung

Einklappen
Keine Ankündigung bisher.

Session Variablen als Referenz!? O_o

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Session Variablen als Referenz!? O_o

    Hallo zusammen,

    habe ein Problem mit der Zuweisung von Session-Variablen. Vorab das Script zur Veranschaulichung:

    Code:
    ...
    session_start();
    ...
    $test = mysql_fetch_array($result);
    $_SESSION['test'] = $test;
    
    /*
      Alternativ (funtioniert genau so wenig):
      foreach( $test as $k => $v) {
        $_SESSION['test'][$k] = $v;
      }
      */
    
    print_r($_SESSION);  // Alles OK, Daten in Session gespeichert
    $test = null;
    print_r($_SESSION);  // Key 'test' in der Session ist leer/null Häh?!?
    ...
    Nach einem Refresh sind die Daten NICHT in der Session (egal, ob ich $test auf null setze oder nicht!).

    Sieht so aus als ob er Referenzen erstellt oder so etwas...
    Kann mir das irgendjemand erklären? Vielen Dank schonmal!

    Nachtrag:
    Wenn ich ganz unten im Script als letzen Befehl die Session ausgebe, dann sind die Daten da.
    Ganz oben im Script direkt nach session_start(); gebe ich sofort die Session aus.

    Ich rufe die Seite einmal auf, die Daten sind am Scriptende da. Ein nochmaliger Aufruf. Die Daten sind direkt nach session_start(); nicht mehr da! Besser gesagt: Die Keys im Array sind da, aber die Values nicht...*verzweifel*

    Grüße
    Sam


  • #2
    Was passiert, wenn Du die globale Variable nicht genauso nennst wie das Element in $_SESSION?
    PHP-Code:
    session_start();

    $row mysql_fetch_array($result);
    $_SESSION['test'] = $row;

    print_r($_SESSION);
    $row null;
    print_r($_SESSION); 

    Kommentar


    • #3
      Genau das Gleiche...

      Der Witz ist ja, daß wenn ich ganz unten im Script als letzte Zeile die Sessiondaten ausgebe, dann passt alles. Aber beim nächsten Request sind die Daten dennoch nicht in der Session. Also die Keys sind da, aber die Values nicht.

      Hab auch schon auf dem Server auf /tmp die entsprechende Session-Datei angeschaut. Er schreibt also schon in die richtige Session, verliert aber die Values irgendwie... O_o

      Kommentar


      • #4
        Dann würde ich nach einem Update des php rpms suchen.

        Kommentar


        • #5
          Hast du schonmal überprüft, ob es vllt. ein Problem bei der Übergabe der SessionID gibt?
          Oder hast du mal eine neue Seite erstellt die nichts anderes enthält als:
          PHP-Code:
          <?php
          session_start
          ();
          print_r($_SESSION);
          ?>
          ?

          Gruß,
          Matthias959

          Kommentar

          Lädt...
          X