stefan: Umleitung

hallihallo,
ich möcht gern folgendes realisieren.
Ich habe ein Formular in dem der User Daten eingeben kann. Bevor die Daten in eine Datenbank geschrieben werden, werden noch mal alle von ihm eingetragenen Daten zur Überprüfung angezeigt.
Wenn der User noch Änderungen vornehmen möchte soll er
zurück zum Formular gelangen, indem die Daten noch vorhanden sind. Bisher ist das über den Zurückbutton des Browsers gelöst.
Gibt es noch eine andere Möglichkeit, ausser den Browserbutton , Cookies oder JavaScript Historyback?
viele Grüße & vielen Dank
Stefan

  1. Hi,

    Gibt es noch eine andere Möglichkeit, ausser den Browserbutton , Cookies oder JavaScript Historyback?

    Ja, die gibt es. Ich denke sogar mehrere wenn man kreativ ist.
    Da du die Daten schon in der Datenbank hast, kannst du sie ja auch wieder auslesen. Du willst aber kein Cookie oder Javascript haben.
    Ich mach das immer mit einer Zufallszahl, die ich dem Link immer mit gebe und die den User während seines "Aufenthalts" identifiziert und die mit in der Datenbank abgelegt wird.
    Es sollte aber ein sehr hohe Zahl sein, dann ist die Warscheinlichkeit einer Überschneidung kleiner :-)

    Schöne Grüße,

    Jan

    1. ups,
      da hab ich mich wohl nicht vrständlich ausgedrückt.
      Bevor die Daten in die Dantenbank eingetragen werden, soll der User die Möglichkeit haben, zum Formular zurück zu kommen, aber so, dass die von ihm bereits vorgenommenen Einträge nicht verloren gehen, damit er diese noch mal ändern kann, bevor sie in die Datenbank eingetragen werden. Und wie kann ich das realisieren?
      benste Grüße
      Stefan

      Ja, die gibt es. Ich denke sogar mehrere wenn man kreativ ist.
      Da du die Daten schon in der Datenbank hast, kannst du sie ja auch wieder auslesen. Du willst aber kein Cookie oder Javascript haben.
      Ich mach das immer mit einer Zufallszahl, die ich dem Link immer mit gebe und die den User während seines "Aufenthalts" identifiziert und die mit in der Datenbank abgelegt wird.
      Es sollte aber ein sehr hohe Zahl sein, dann ist die Warscheinlichkeit einer Überschneidung kleiner :-)

      Schöne Grüße,

      Jan

      1. Hi,

        Bevor die Daten in die Dantenbank eingetragen werden, soll der User die Möglichkeit haben, zum Formular zurück zu kommen, aber so, dass die von ihm bereits vorgenommenen Einträge nicht verloren gehen, damit er diese noch mal ändern kann, bevor sie in die Datenbank eingetragen werden. Und wie kann ich das realisieren?

        am besten ist javascript:history.back(), aber das willst du ja nicht :-). Wenn du die Daten noch nirgends stehen hast, dann mußt du sie in irgendeiner Form der Seite, die sie wieder anzeigen soll geben. Also entweder im Querystring oder in einem Formular, also get oder post. Dann brauchst du noch keine Datenbank.

        Beispiel:  .../anzeige.asp?name=Horst&strasse=Milchstrasse&...

        Ich denke, den Rest weißt du. Wenn nicht, schreib einfach.

        Grüße,

        Jan

        1. hallo jan,
          (vielen Dank für Deine Antwort)
          ich hab es jetzt folgendermaßen "gelöst":
          Beim senden des Formulars werden die Daten wie gesagt an eine
          zwischengeschaltete Seite zur Überprüfung übergeben. Wenn der User nun die Daten in die Datenbank eintragen will drückt er auf einen Submitbutton, von einem Formular, in dem die Werte per hidden Felder übergeben werden.
          Dann hab ich ein zweites Formular mit hidden Feldern, was die Werte zurück an das eigentliche Formular übergibt, wo die Werte über value ausgelesen werden. (Warscheinlich ist das der umständlichere Weg...,)
          Und da ergibt sich noch ein Problem:
          Bei normalen Textfeldern funktioniert es über value.
          Aber bei select Feldern nicht.
          Wie kann ich die Werte wieder an Auswahllisten übergeben?
          beste Grüße
          stefan

          1. Hallo,

            So wie du es gemacht hast, hab ich es auch gemeint, zumindest so in etwa.

            Und da ergibt sich noch ein Problem:

            nein, ist kein Problem :-)

            Bei normalen Textfeldern funktioniert es über value.

            stimmt.

            Aber bei select Feldern nicht.

            stimmt auch.

            Wie kann ich die Werte wieder an Auswahllisten übergeben?

            Ich nehme an, du willst sowas wie Zahlungsart oder so auswählen lassen.
            Du machst ganz normal deine select-liste und testest bei jedem options punkt ab, ob er dem gewünschten Eintrag entspricht. Bei Übereinstimmung lässt du ein "selected" im Option tag mit ausgeben.
            So ist der ausgewählte Wert vorselektiert.

            Beispiel:

            <select size="1" name="blabla">
               <option value="1">Punkt 1</option>
               <option value="2" selected>Punkt 2</option>
            </select>

            Hier ist dann "Punkt 2" vorausgewählt.

            beste Grüße
            stefan

            allerbeste Grüße, :-)

            Jan

            1. Hallo,

              So wie du es gemacht hast, hab ich es auch gemeint, zumindest so in etwa.

              Prima :)

              Ich nehme an, du willst sowas wie Zahlungsart oder so auswählen lassen.
              Du machst ganz normal deine select-liste und testest bei jedem options punkt ab, ob er dem gewünschten Eintrag entspricht. Bei Übereinstimmung lässt du ein "selected" im Option tag mit ausgeben.
              So ist der ausgewählte Wert vorselektiert.

              Beispiel:

              <select size="1" name="blabla">
                 <option value="1">Punkt 1</option>
                 <option value="2" selected>Punkt 2</option>
              </select>

              Hier ist dann "Punkt 2" vorausgewählt.

              hab ich jetzt so gelöst:
              <OPTION VALUE="Baden-Württemberg"<% If enthalten("Region", "Baden-Württemberg")=True Then%> SELECTED<% End If%>>Baden-Württemberg</OPTION>
              Funktioniert auch, allerdings hab ich Probleme bei Baden-Württemberg.
              Wenn ich das "ü" gegen ein z.B. u austausche geht's.
              Muss ich da eine besondere Syntax beachten?
              nochmal auch allrbeste Grüße & vielen Dank
              Stefan

              1. hi,

                Funktioniert auch, allerdings hab ich Probleme bei Baden-Württemberg.
                Wenn ich das "ü" gegen ein z.B. u austausche geht's.

                Irgendwo hakt es dann am Umlaut. Variablennamen dürfen keinen Umlaut enthalten und auch Formularelementnamen nicht soweit ich weiß. Man müßte wissen, wo es genau hakt. Gibt es eine Fehlermeldung? oder wählt er einfach nicht das richtige aus? Wie sieht deine Funktion "enthalten" aus?

                Muss ich da eine besondere Syntax beachten?

                du mußt nicht, aber ohne Umlaute ist erfahrungsgemäß alles leichter :-)

                Grüße,

                Jan

                1. hallo,

                  Irgendwo hakt es dann am Umlaut. Variablennamen dürfen keinen Umlaut enthalten und auch Formularelementnamen nicht soweit ich weiß. Man müßte wissen, wo es genau hakt. Gibt es eine Fehlermeldung? oder wählt er einfach nicht das richtige aus? Wie sieht deine Funktion "enthalten" aus?

                  nein, keine Fehlermeldung, es ist einfach nicht selektiert.
                  Aber ich habe Probleme, wenn mehr als ein option selektiert wurde.
                  Meine Funktion ist folgende:
                  Function enthalten(feld, wert)
                    For Each e In Request.Form(feld)
                      If e=wert Then
                        enthalten = True
                        Exit Function
                      End If
                    Next
                    enthalten = False
                  End Function

                  Und hier noch mal ein option als Bsp.:
                  <option value="Bayern"<% If enthalten("Region", "Bayern")=True Then%> SELECTED<% End If%>>Bayern</option>

                  vielen Dank für Deine Hilfe
                  Stefan

  2. Hi Stefan,

    derlei Dinge erledige ich immer, indem ich statt einen Submit-Button einen normalen Click-Button verwende, der mir ein Script aufruft, das wiederum die Parameter (vor dem Absenden) testet. Sind Fehler vorhanden, terminiert das Script mit einer alert()-Fehlermeldung, sind keine Fehler vorhanden wird per JavaScript das Submit ausgeführt. Vorteil: Sehr einfach, sehr effektiv, alles lokal auf einer Seite.

    Gruß
    Hans-Peter