Martin: Array mit Hilfe von Session auf andere Seite transportieren

Hallo!

Habe ein Problem.

Ich möchte ein PHP-Array in einer Session speichern.

Wie geht das denn, denn so:

--------------
session_start();
$test=array();
$test[1]="Hallo";
session_register("test[1]");
--------------

geht's nicht.

Außerdem möchte ich Formularinhalte mit "onClick" an eine andere Seite übertragen.
Mit dem Submit-knopf ist das kein Problem, da werden die Formularinhalte ja automatisch mitgeschickt. Ich kenne nun nur die Möglichkeit mit der Übergabe per URL, also test.php?formular1=blabla&forumular2=blubb usw...

Das ist jedoch zu aufwendig, denn ich hab ne Menge Formulare.

Gibt es nicht auch mit der Sessionverwaltung eine Möglichkeit, die Formulardaten in eine Session zu packen (mit session_register), übertragen und danach wieder zur Verfügung zu stellen?

Denn wenn ich normalerweise ein Formularfeld habe, und ich den Inhalt in eine Session schreiben will, muß ich das Formular mittels submit knopf neu laden, damit die formulardaten als PHP-Variablen zur Verfügung stehen, die ich dann mit session_register speichern kann.

Weiß jemand eine Lösung???????

Vieeelen Dank im Vorraus!!
Martin

  1. Hallo,

    wie du die session genau ansprichst weiß ich eben auch nicht, aber dies dürfte leicht nachzuschlagen sein.
    Das andere: wer soll die Daten aus den form-feldern in die session packen -->PHP also mußt du sie wohl oder übel erst alle einzeln anhängen oder über ein form mit method="post" gehen...
    innerhalb des browser läuft kein PHP.
    Ein Form mit post ist sowieso günstiger, da get begrenzt ist und man bei get auf sonderzeichen achten muss, die in der url nicht vorkommen dürfen...

    Odium

    1. Hi Odium,

      vielen Dank für Deine Antwort!

      Ich dachte halt, daß es eine Syntax gibt, mit der man die Formulardaten SOFORT, also OHNE die Seite neu laden zu müssen in eine Session schreibt. Aber wenn das nicht möglich ist, muß ich einen anderen Weg nehmen.

      Das mit Post ist ganz gut, aber halt aufwendig.

      Naja, egal, nochmals vielen Dank!!

      martin

      1. Hallo,

        Das mit Post ist ganz gut, aber halt aufwendig.

        Wieso ist das aufwendig, die Variablen stehen Dir doch in $HTTP_POST['name'] zur Verfügung...einfacher gehts doch fast gar net.

        Gruss Alexa

        1. Genau,

          warum willst du überhaupt auf die forms verzichten? mit einem form und method="post" ist es doch schnell getan...

          Odium

  2. Hallo Martin,

    Ich möchte ein PHP-Array in einer Session speichern.

    Wie geht das denn, denn so:


    session_start();
    $test=array();
    $test[1]="Hallo";
    session_register("test[1]");

    geht's nicht.

    Nö, das wird nicht funktionieren. Aber es geht viiiel einfacher :-)

    ---
    session_start();
    session_register("TestFeld");
    ---

    So, nun kannst Du die Variable TestFeld wie ein Array behandeln.

    ---
    $TestFeld[0] = 125;
    $TestFeld[1] = 365;
    .
    .
    .
    ---

    Die Werte werden beim übergeben als Array übertragen.

    Zu Deinem anderen Problem mal eine paar Gedanken, die Du vielleicht augreifen kannst. Via JavaScript kommst Du an bei onClick an die Daten ran. übergebe die an ein PHP-Script und fertig is... :-)

    In diesem Sinne eine schöne Woche!
    Peter

    1. Hallo Peter!

      Du hast mein Problem verstanden! Vielen Dank für die Lösung! Habe nicht gewußt, daß session_register auch variablen dann aufnimmt, wenn man die variablen nach dem Aufruf von session_register ändert!

      Vielen Dank nochmal!! (auch an die anderen!!)

      Ebenfalls 'ne schöne Woche! ;-)))
      Martin