dynamisches formular mit sessions oder GET?

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

  • dynamisches formular mit sessions oder GET?

    hallo,

    versuche ein dynamisches formular zu erstellen, aber stoße bei allen lösungsansätzen auf (für mich noch) unlösbare probleme.

    es soll immer so aufgebaut sein:
    ein user wählt was aus (z.b. radiobuttons, dropdownfelder etc) und klickt auf einen ok-button, in abhängigkeit von der auswahl soll nun eine neue auswahl erscheinen.

    zuerst habe ich es mit $_GET versucht, aber nachdem der erste button geklickt war, ist das array auch schon wieder leer weil ja ein refresh durchgeführt wird.

    jetzt versuche ich es mit sessions.
    aber kaum ist eine session-variable gesetzt hab ich auch schon nachteile daraus. z.b. zeigt er mir schon auswahlmöglichkeiten an, die ich viel früher einmal eingegeben habe...

    auch der versuch mit javascript war nicht sonderlich erfolgreich, aber das ist ein anderes thema ^^

    die suche im internet nach manuals oder howto's war weniger erfolgreich, kann mir aber echt nicht vorstellen dass das problem vor mir noch niemand hatte...

    wäre für jede hilfe dankbar!

  • #2
    schon mal was von AJAX gehört? damit hab ichs gelöst - hatte das selbe prob - google mal
    Signatur-Text ...

    Kommentar


    • #3
      gehört schon - aber gleich wieder verdrängt :-)

      habe halt bedenken mich jetzt in noch eine sprache einzuarbeiten, außerdem wär es ein problem wenn was am server installiert werden muss...

      ich werde parallel mal schauen. aber es muss auch eine lösung in php geben... glaube ich

      Kommentar


      • #4
        nunja du sagst es soll dynamisch sein - ich geh mal davon aus, dass du bei einer auswahl die seite neu lädst und dementsprechend das passende anzeigst - bei Ajax brauchst du nichts installieren und funzt wie javascript nur erweitert - so schwer isses nich
        Signatur-Text ...

        Kommentar


        • #5
          Original geschrieben von dani_o
          nunja du sagst es soll dynamisch sein - ich geh mal davon aus, dass du bei einer auswahl die seite neu lädst und dementsprechend das passende anzeigst - bei Ajax brauchst du nichts installieren und funzt wie javascript nur erweitert - so schwer isses nich
          genau so hatte ich es bis jetzt gemacht.
          ich werde mich etwas einlesen und dann entscheiden ob ich es damit hinbekomme

          Kommentar


          • #6
            Typische Aufgabe für Sessions, würd ich mal sagen.

            Du musst halt sauber prüfen, ob die Abfragereihe auch korrekt gestartet wurde und der Benutzer nicht versucht, mittendrin anzufangen. Dazu könntest du zum Beispiel immer speichern, welchen Schritt der benutzer zuletzt gemacht hat, und im entsprechend den nächsten Servieren. Am Ende natürlich die Session beenden, sonst hast du beim nächsten Anlauf die alten Daten in der Session.

            AJAX geht natürlich auch, ist aber, je nach Zielgruppe, doch wieder einschränkend.
            [FONT="Helvetica"]twitter.com/unset[/FONT]

            Shitstorm Podcast – Wöchentliches Auskotzen

            Kommentar


            • #7
              @unset,
              das mit den schritten speichern ist eine gute idee.

              noch eine kleinigkeit:
              wenn ich mit sessions arbeite, sieht mein code auszugsweise z.b. so aus:

              PHP-Code:
              if($btn_kind)
              {
               
              $_SESSION['kind']=$radio_inst;
               unset(
              $_SESSION['country']);
               echo
              "<meta http-equiv='refresh' content='0; URL=index_session.php'>";

              ich muss die seite erneut laden, damit es korrekt funktioniert (die zeile mit dem refresh).

              wenn ich die zeile draußen lasse funktioniert es nicht. ich muss den button dann 2x anklicken. beim ersten klick setzt er dir sessionvariable, beim 2. läd er die seite erneut.

              gibt es da noch eine möglichkeit das zu umgehen?

              Kommentar


              • #8
                klingt so, als wäre das ganze noch am php-anfang. fänd ich ein wenig hart gleich noch mit ajax etc. warm werden zu wollen.

                überleg doch mal, was in erster und wohl leichtester form möglich wäre...:

                wenn du (egal ob mit get oder post) eine variable bekommst, und du die für die nächsten seiten behalten willst, hast du php-seitig zwei gute möglichkeiten.

                1) wie du gerade versuchst... mit sessions.
                2) wenn deine seite eine variable bekommt, kann die auch in ein hidden-formular-feld geschrieben und an weiter seiten geschrieben werden.
                **********
                arkos
                **********

                Kommentar


                • #9
                  Original geschrieben von arkos

                  2) wenn deine seite eine variable bekommt, kann die auch in ein hidden-formular-feld geschrieben und an weiter seiten geschrieben werden.
                  Das wäre nach AJAX wohl die Möglichkeit mit dem meisten Traffic-Overhead.
                  [FONT="Helvetica"]twitter.com/unset[/FONT]

                  Shitstorm Podcast – Wöchentliches Auskotzen

                  Kommentar


                  • #10


                    ich denke, dass ganze wird nicht auf servern stattfinden, wo traffic kriegsentscheidend ist. für mich klingt das ganze nach lernen und in kleinem rahmen einsetzen.... oder ist traffic sehr wichtig?

                    dann würd ich sagen: divs und js.... basta
                    **********
                    arkos
                    **********

                    Kommentar


                    • #11
                      Original geschrieben von arkos


                      ich denke, dass ganze wird nicht auf servern stattfinden, wo traffic kriegsentscheidend ist. für mich klingt das ganze nach lernen und in kleinem rahmen einsetzen.... oder ist traffic sehr wichtig?

                      dann würd ich sagen: divs und js.... basta
                      NOCH mehr Overhead und Benutzereinschränkend. Wenn es schon um lernen geht, dann bitte auch direkt richtig. Das Argument "Traffic spielt keine Rolle" zieht schon gar nicht, wenn jemand "lernt". Mit Ressourcen schonend umzugehen, sollte zu den Basics gehören.

                      Abgesehen davon sollte man nicht so egoistisch sein, und nur darauf achten, ob man selbst die benötigten Ressourcen hat, sondern auch, nein, sogar zuerst, ob der Benutzer sie hat. Wenn ich mit meinem Handy erst Daten über Daten aus dem Netz schaufeln muss, und dann zwei lächerliche Drop-Down-Menus bekomme, bin ich entnervt. Und wenn ich dann sehe, dass alle vorherigen Eingaben als Hiddenfields im Quelltext stehen, würde ich den Entwickler gerne Schlagen!
                      [FONT="Helvetica"]twitter.com/unset[/FONT]

                      Shitstorm Podcast – Wöchentliches Auskotzen

                      Kommentar


                      • #12
                        is allerdings auch nicht gerade objektiv beurteilt...

                        es kommt darauf an - wir kennen die intention nicht - was der kollege an "dynamik" braucht...

                        wenn er zb. eine dynamik braucht, die bei auswahl "geschlecht=weiblich" lediglich nur noch ein weiteres feld "kindername", dann muss man wohl nicht zwingend ajax, ne fette db, noch ne session etc. entwickeln, oder?

                        außerdem mal ehrlich. der junge macht sich sorgen, dass er eine variable nur eine seite weit mitschleifen kann.... ich denke, du weißt, dass das probleme ganz am anfang sind. hier werden möglichkeiten aufgezählt... welcher er später für was benutzt, muss er einzuschätzen wissen. aber dennoch macht es für mich sinn, dass er alle möglichkeiten mal gesehen hat...
                        **********
                        arkos
                        **********

                        Kommentar


                        • #13
                          morgen und erstmal danke für alle antworten!

                          ich werde die lösung mit den sessions benutzen.

                          ich schaue immer mit if (isset()) ob eine variable gesetzt ist, dann bau ich dementprechend die nächste ebene auf.

                          sollte eigentlich funtzen!

                          Kommentar


                          • #14
                            viel glück und spaß
                            **********
                            arkos
                            **********

                            Kommentar

                            Lädt...
                            X