NetLook: Session Frage - gleiches Formular 2 mal alle Daten behalten

Hallo!

Ich werkel jetzt seit ca. 11:00 Uhr dran rum!

Ich habe ein Formular, geht man auf senden, wird die Zielseite aufgerufen
und die Daten z.B. addiert. Nun hat man die Möglichkeit, wieder zum ersten Formular zu gehen und Daten einzugeben, die zu den anderen hinzugefügt werden.

Ich habe es mit session probiert. Und dachte die 2ten Daten werden einfach hinten an das Session Array dran gehangen. Scheint aber nicht so zu sein.

Dann habe ich die ersten Session-Daten in ein array gepackt mit array_push. Dies passiert auf der Zielseite. Wenn man nun das erste Formular weider aufruft wird die Session gelöscht und der Name des Array mit den 1ten Daten mit der URL übergeben.

Jetzt sendet man die neuen Daten zur Zielseite, wo sie in das Array mit den Daten hinzugefügt werden. Aber wenn ich das Array zähle bleibt es immer gleich. Also werden wohl keine neuen Daten hinten dran gehangen?!

Hat jemand einen Tip, einen Rat, eine bessere Idee (da bin ich fast sicher

Gruß
NetLook

  1. Hi!

    Ohne dein Problem genau verstanden zu haben ;-)
    Warum packst du die Daten nicht zur Not in hidden-Felder?

    Gruß aus Iserlohn

    Martin

    1. hi,

      Ohne dein Problem genau verstanden zu haben ;-)
      Warum packst du die Daten nicht zur Not in hidden-Felder?

      Man verwendet Sessions u.a. deshalb, um bei mehrseitigen Formularen das "Durchschleifen" der Daten von der Vorseite _nicht_ mehr per hidden fields machen zu müssen ...

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. Hallo

    Ich habe ein Formular, geht man auf senden, wird die Zielseite aufgerufen
    und die Daten z.B. addiert. Nun hat man die Möglichkeit, wieder zum ersten Formular zu gehen und Daten einzugeben, die zu den anderen hinzugefügt werden.

    Ich habe es mit session probiert. Und dachte die 2ten Daten werden einfach hinten an das Session Array dran gehangen. Scheint aber nicht so zu sein.

    So bei jeder Verarbeitung des Formulars immer Felder gleichen Namens des Sessionarrays mit den Werten des Formulars befüllt werden, werden sie nur überschrieben.
    Ausnahme (die genaugenommen keine ist, da sich der Name ändert): ein mehrdimensionales Array, nach diesem Schema: ~~~php $_SESSION["feldname"][0][/php] (0 steht für einen Zähler). Wenn du also beim Speichern der Daten aus dem gleichen Formularfeld je Auswertung einen Zähler mitspeicherst, kannst du auf alle Ergebnisse z.B. mit einer Schleife zugreifen.

    [code lang=php]
    foreach ($_SESSION["feldname"] as $bla)
       {
       echo "Ergebnis :".$bla."<br>";
       }

      
    
    > Dann habe ich die ersten Session-Daten in ein array gepackt mit array\_push. Dies passiert auf der Zielseite. Wenn man nun das erste Formular weider aufruft wird die Session gelöscht und der Name des Array mit den 1ten Daten mit der URL übergeben.  
      
    Warum löschst du die Daten aus der Session und gibst diese Daten per $\_GET wieder an das Formular zurück? Dort kannst du sie ertsens nicht gebrauchen und verschenkst zweitens die Funktionalität von Sessions.  
      
    
    > Jetzt sendet man die neuen Daten zur Zielseite, wo sie in das Array mit den Daten hinzugefügt werden. Aber wenn ich das Array zähle bleibt es immer gleich. Also werden wohl keine neuen Daten hinten dran gehangen?!  
      
    Du übergibst die aus der ersten Auswertung stammenden Daten wirklich noch einmal \_zusätzlich\_ zu den neuen Daten an das Auswertungsskript? Was ist, wenn das Formular zehnmal abgeschickt wird? Stehen dann zehn ausgewertete Datensätze darin (bzw. in den $\_GET-Paramentern)?  
      
    Tschö, Auge  
    
    -- 
    Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.  
    (Victor Hugo)  
      
    [Veranstaltungsdatenbank Vdb 0.1](http://termindbase.auge8472.de/)