Array weitergeben in session

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

  • Array weitergeben in session

    Hallo,

    hab folgendes Problem und ich hoffe jemand kann mir helfen.

    Ich übergebe mit

    PHP-Code:
    $_SESSION['search'] = $search
    ein Array ($search ist ein Array) an die session. Das klappt auch.

    Nun habe ich einen Button "findnext"
    Immer wenn dieser gedrückt wurde soll im Array eine Stelle weiter gesprungen werden.
    PHP-Code:
    if (isset($_POST["findnext"]))
     {
      
    $search $_SESSION['search']; 
      
    $nummer next($search);
      
    $_SESSION['search'] = $search;
     } 
    Folgendes Problem tritt dabei auf:

    Das erste mal wenn ich den Button drücke macht er noch genau das was ich will. Er gibt mir den nächten Arraywert. (Wert0 ist YYY,Wert1 ist XXX, Wert2 ist ZZZ Ausgegeben wird dann XXX)

    Doch ab 2-ten bis n-ten betätigen des Buttons tut sich nichts mehr.
    (gibt mir immer den Wert XXX)
    Das Array wird also anscheinend nicht mit der aktuellen Cursorposition übergeben sondern der Cursor befindet sich bei jedem neuen Aufrufen der Seite an der Stelle 0.

    Wie kann ich denn in der Sessionvarialben auch die aktuelle Cursorposition
    des Arrays mitgeben?

  • #2
    Hi,

    lösch doch einfach bei jedem Aufruf von findnext den aktuellen wert aus dem Array und speicher ihn dann wieder ab.

    Oder leg dir eine Hilfsvariable in die Session z.B $_SESSION['arrayPTR']
    in der du die aktuelle position des Arrays ablegst.

    Wenn du einfach nur alle Werte deines Arrays durchgehen willst ist foreach() wohl die bessere variante.
    gruss Chris

    [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

    Kommentar


    • #3
      Vielen Dank für deine Antwort. So werde ich es jetzt lösen.

      noch eine Frage zu dem Thema:
      Was bringt es mir wenn ich ein Array serialisiere und unserialisiere?
      Die übertragung funzt doch auch so.

      Kommentar


      • #4
        Wenn du Arrays in Sessions verwendest, brauchst diese nicht zu Serialisieren, weil in den Sessions die Struktur der Arrays erhalten bleibt.

        Serialisieren kannst z.B. dann verwenden wenn du ein Array in eine Text-Datei speichern möchtest.
        Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
        Schön - etwas Geschichte kann ja nicht schaden.
        Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

        Kommentar


        • #5
          Oder wenn du ein Array per POST weitergeben willst.
          gruss Chris

          [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

          Kommentar


          • #6
            Danke. Alles klar

            Kommentar


            • #7
              Hallo,

              habe mich nun doch für die Variante mit dem Pointer entschieden.

              Nun meine Frage.

              Wie speichere ich denn die aktuelle Position des des Arrays ab?

              Mit current? Aber wie bringe ich das script den dazu beim erneuten Aufruf
              an der Stelle aufzusetzten und mit next den nächten Wert zu nehmen?

              Kommentar

              Lädt...
              X