lordofcrash: Session Multidimensonale Array übergeben

Hi,

$_SESSION[$bstnur]['box1']="$box1";

ist mein Ausganspunkt. $box1 wird von einer anderen Seite übergeben, und $bstnur wird bei jedem aufruf hochgezählt. Das Hochzählen von $bstnur funktioniert, konkret, der Inhalt wird in einer Sessionvariable eingetragen. wenn ich jetzt

echo $_SESSION[$bstnur]['box1']="$box1";

schreibe, dann gibt er mir auch den Inhalt aus. Sobald ich aber z.b.

$bstnur--;
echo $_SESSION[$bstnur]['box1']="$box1";

schreibe, steht da nichts drin. Funktioniert das eigentlich so mit den m-arrays? oder habe ich was vergessen...

  1. Holladiewaldfee,

    echo $_SESSION[$bstnur]['box1']="$box1";

    schreibe, dann gibt er mir auch den Inhalt aus. Sobald ich aber z.b.

    Warum lässt Du Dir Das Ergebnis einer Zuweisung ausgeben?
    Das ist doch sicher nicht das, was Du haben willst?!

    $bstnur--;
    echo $_SESSION[$bstnur]['box1']="$box1";

    Hier auch ...

    Ciao,

    Harry

    --
      Hä? Was? Signatur?! Kann man das essen?
    1. Hi,

      Sorry, diese Zeile war natürlich falsch;

      $bstnur--;
      echo $_SESSION[$bstnur]['box1'];

      So ist es richtig, oben habe ich auch nur überprüft, was für ein Wert er einträgt oder ob er überhaupt ein Rückgabewert hat. Ist also nur temporär zu testzwecken.

      Ich will natürlich nur den Inhalt mittels einer Schleife wieder rausholen, wo ich $bstnur nur inkrementiere.

      1. Hi,

        $bstnur--;

        was steht jetzt in $bstnur drin? Hast Du an dieser Stelle auch ein Wert zugewiesen? Oder steht vielleicht -1 drin?

        echo $_SESSION[$bstnur]['box1'];

        ciao
        romy

        --
        DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
        ->Alles ist gut wenn es aus Schokolade ist
        1. Hi,

          Array ( [1] => Array ( [test1] => inhalt von test1]) )

          so was habe ich jetzt raus.

          $_SESSION['bstnr']++;
           $bstnur = $_SESSION['bstnr'];
           echo $_SESSION[$bstnur]['KurzBeschreibung'];

          $bstnur++;

          $_SESSION[$bstnur]['KurzBeschreibung']="$KurzBeschreibung";
           $_SESSION[$bstnur]['bestellnummer']="$bestellnummer";
           $_SESSION[$bstnur]['Preis']="$Preis";
           $_SESSION[$bstnur]['box1']="$box1";
           $_SESSION[$bstnur]['ATTR1X1']="$ATTR1X1";
           $_SESSION[$bstnur]['ATTR1X2']="$ATTR1X2";
           $_SESSION[$bstnur]['ATTR1X3']="$ATTR1X3";
           unset($order);
           echo $_SESSION[$bstnur]['KurzBeschreibung'];

          echo $bstnur;
           $bstnur--;
           echo $_SESSION[$bstnur]['KurzBeschreibung'];
           echo $bstnur;

          So bei jedem Aufruf der Datei wird $_SESSION['bstnr'] um 1 hochgezählt. $bstnur habe ich nur, damit ich $_SESSION['bstnr'] nicht immer hinschreiben muss.

          Mein Ziel ist es, in $_SESSION[1] dann die ganzen Attribute zu haben. Aber das klappt nicht.

          1. Hi,

            Mein Ziel ist es, in $_SESSION[1] dann die ganzen Attribute zu haben. Aber das klappt nicht.

            Eigentlich müsste dies funktionieren.
            Was mich immernoch wundert ist dies hier.

            $_SESSION[$bstnur]['KurzBeschreibung']="$KurzBeschreibung";

            wenn $KurzeBeschreibung eine Variable ist, lass die Anführungszeichen weg bzw wenn nicht was soll dass $ ???

            ciao
            romy

            --
            DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
            ->Alles ist gut wenn es aus Schokolade ist
            1. die anführungszeichen habe ich weggenommen, hatte mir nur gedacht, dass es villeicht daran liegen würde. Aber irgendwie übernimmt er das nicht in den Sessionvariablen.

              Ich habe ja

              print_r($_SESSION);

              drinstehen.

              Wenn ich ne andere Seite aufruge, dann zeigt er mir nur noch

              Array ( [bstnr] => 4 )

              an.

              Also bin ich mir schon fast sicher, dass das Speichern bzw.- die übergabe nicht funktioniert. Hast du irgendeinen Ansazu?

              MFG

              1. Hi,

                Also bin ich mir schon fast sicher, dass das Speichern bzw.- die übergabe nicht funktioniert. Hast du irgendeinen Ansazu?

                welche PHP-Version hast Du?
                funktionieren einfache beispiele oder funktioniert die Session-Übergabe generell nicht?
                ciao
                romy

                --
                DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
                ->Alles ist gut wenn es aus Schokolade ist
                1. hi,

                  habe PHP in der Version 4.2

                  Session übergabe funktioniert normalerweise eigentlich schon. Bin was Sessions angeht ein Newbie.

                  PHP liegt mir normaler weise schon. Die

                  $_SESSION['bstnr']

                  wird ja richtig übergeben. Die andere Funktioniert ja beim aufrufen auch wohl, aber am besten du schaust es dir mal an:

                  http://www.suzukiplus.de/shop/new_shop/menu.php

                  Da ist das Script. und wenn du ein Produkt angeklickt hast kannst du ja mal auf bestellen klickén. Dann steht oben die Variablen.

                  MFG

      2. Holladiewaldfee,

        So ist es richtig, oben habe ich auch nur überprüft, was für ein Wert er einträgt oder ob er überhaupt ein Rückgabewert hat. Ist also nur temporär zu testzwecken.

        Laß Dir einfach mal mit print_r($_SESSION) den Inhalt des gesamten Session-Arrays ausgeben. Vielleicht siehst Du dann, wo der Fehler liegt. Prinzipiell sollten Sessions schon mit mehrdimensionalen Arrays umgehen können.

        Ciao,

        Harry

        --
          Hä? Was? Signatur?! Kann man das essen?
  2. Hi,

    echo $_SESSION[$bstnur]['box1']="$box1";

    Warum weist Du der Ausgabe einen Wert zu?
    "$box1" ist eine zeichenkette, mich wundert wenn dies den Wert aus $box1 enthält

    mehrdimensionale Arrays funktionieren. Was wilst Du überhaupt erreichen? Vielleicht kann man da besser helfen!?

    ciao
    romy

    --
    DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
    ->Alles ist gut wenn es aus Schokolade ist
    1. Also

      im prinzip ist das wie ein Online-Shop.

      User 1 geht hin, und klickt auf einem Knopf, dann werden Sachen gemerkt. Also z.B. ein Preis, Beschreibung usw.

      Also ich hätte das so gedacht, $box1 wird in der Session Varaible

      $_SESSION[1][$box1]

      gespeichert.

      und dass will ich auch hinterher ausgeben. Nur dass [1] eine Variable ist.

      1. Hi,

        User 1 geht hin, und klickt auf einem Knopf, dann werden Sachen gemerkt. Also z.B. ein Preis, Beschreibung usw.
        Also ich hätte das so gedacht, $box1 wird in der Session Varaible
        $_SESSION[1][$box1]

        sollte so kein Problem sein
        bei der Ausgabe würde ich foreach() verwenden
        bzw. bei for-Schleifen darauf achten dass der Wert von $i
        $_SESSION[$i][$box1] nicht kleiner Null wird

        Wenn es nicht funktioniert schick mal mehr Quelltext, es liegt dann sicherlich an einer anderen Stelle!

        ciao
        romy

        --
        DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
        ->Alles ist gut wenn es aus Schokolade ist