Announcement

Collapse
No announcement yet.

Formular nach dem Senden wieder befüllen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Formular nach dem Senden wieder befüllen

    Hallo,

    ich habe folgendes Problem:
    Ich habe eine Formulardatei mit ASP Inhalten, die beim Klick auf den Senden-Button an eine Empfänger.asp gesendet wird.
    In der Empfänger.asp werden die Felder ausgelesen und entweder neu in die Datenbank gespeichert, oder ein bereits vorhandener Eintrag aktualisiert. Bis hierhin klappt auch alles wunderbar, und die Seite leitet anschließend zurück zum Formular.
    Mein Problem ist nun: Ich möchte, dass bestimmte Formularfelder noch die vor dem Senden des Formulars eingegebenen Werte enthalten, so dass bei einer erneuten Besucheranmeldung nicht jedes Feld neu eingegeben werden muss, wenn es sich um den gleichen Besucher handelt.

    Bisher siet das Codestück so aus, aber ich schaffe es einfach nicht, dass die Werte übergeben werden, ich arbeite erst seit kurzem mit ASP.

    .
    .
    .
    If Session("mode")="1" then
    %>
    <form method="POST" action="http://.../index1.asp">
    <script language="JavaScript">
    alert ("Das Speichern der Besucherinformationen war erfolgreich!");
    window.location.href = "http://.../index1.asp";
    document.timecheck.besucher.value = Session("besucher");
    </script>
    <%
    Session("besucher") =""
    Session("firma") =""
    Session("vonDatum") =""
    Session("bisDatum") =""
    Session("vonzeit") =""
    Session("biszeit") =""
    Session("grund") =""
    Session("eckma") =""
    Session("abt") =""
    Session("telnr") =""
    Session("user") =""
    vondatum = ""
    bisdatum =""
    Session("mode")=""
    Session("vdatum")=""
    Session("Kfz")=""
    %>
    </form>
    <%
    Else
    If Session("mode")="3" then
    %>
    <form method="POST" action="http://.../index1.asp">
    <script language="JavaScript">
    .
    .
    .

    Kann mir jemand von euch weiterhelfen?
    Vielen Dank schon mal für die Antworten.

    MfG
    A.Schmidt

  • #2
    Formular nach dem Senden wieder befüllen

    Hallo,

    es gibt mehrere Lösungsansätze:
    1. Mach alles es in einer Seite
      Eine Seite für das Formular, welches nur das Formular hat wenn keine Daten per Post übergeben werden. Wenn Daten per Post übergeben werden, werden diese in der Datenbank gespeichert und da sie ja eh schon in der Seite vorhanden sind kann auch gleich wieder das Formular mit gefüllt werden.
    2. Daten aus der Datenbank lesen
      Eine Seite mit dem Formular, welches bei einem angemeldeten Benutzer die Daten seines letzten Eintrages als Vorlage gleich als Vorlage in das Formular einfüllt. Damit können die Daten auch über eine Session hinaus genutzt werden.
    3. Daten in Session speichern
      Wenn die Daten per Post an die Empfaenger.asp gesendet werden diese dort mit Request.from("VariablenName") ausgelesen und könne dann in eine Session Variable geschrieben werden. Diese können dann später im Code in die Eingabe Felder eingefügt werden.
    Ich weiss nicht ob das klar genug ist. Hilfreich wäre der Beginn des Codes der Empfänger.asp (würde ich übrigens ohne Sonderzeichen schreiben)

    Bei weiteren Fragen stehe ich gern zur Verfügung.

    Gruß Ralf

    Comment


    • #3
      Hallo,

      danke für die Hilfe, ich habe inzwischen den Fehler gefunden:
      Meine Variablen wurden bei Aufruf der Empfängerdatei save.asp in Sessionvariablen gespeichert. In der Formulardateien stand dann im entsprechenden value-Feld <& = Session("Feldname") %>.
      Was ich übersehen hatte: In der ursprünglichen Seite waren am anfang ein paar Zeilen asp welche alle Sessionvariablen beim aufruf der Seite leerten.

      Weil die Stelle recht lang war, habe ich sie ausgeblendet, damit ich nicht immer drüberscrollen musste und habe dann vergessen dass es diese Stelle gab und was sie tat.
      Nachdem ich diesen Teil entfernt habe, funktioniert das mit dem Felder befüllen.

      Aber trotzdem Danke für die Hilfe

      Gruß
      A. Schmidt

      Comment


      • #4
        Ok,
        vielleicht kannst du mir noch mal helfen, Ralf?
        Das mit dem Befüllen funktioniert jetzt zwar, dafür haben meine Buttons irgendwo nen Bug, von 3 Buttons funktioniert nur einer.
        Im einen älteren Code, war es der Button weiterer Besucher, jetzt ist es der Speichern Button.
        Ich kann aber keinerlei unterschiede bei den Buttons oder bei der save.asp bezüglich des Einspeicherns finden.

        Hier der Code der Empfängerdatei:

        <script language="JavaScript">
        function update()
        {
        document.check_out.submit();
        }
        </script>
        </HEAD>
        <%
        Session("besucher") =""
        Session("firma") =""
        Session("vonDatum") =""
        Session("bisDatum") =""
        Session("vonzeit") =""
        Session("biszeit") =""
        Session("grund") =""
        Session("eck_ma") =""
        Session("abt") =""
        Session("telnr") =""
        Session("user") =""
        Session("test") =""
        Session("kfz") =""
        Session("mode") =""
        Session("ID") =""
        Session("vdatum")=""
        Session("sprache")=""
        Session("ort")=""
        Session("hsnr") =""
        Session("raumnr") =""
        Session("stunde_von") =""
        Session("minute_bis") =""
        Session("minute_von") =""
        Session("stunde_bis") =""

        If Request.Form("besucher") <> "" Then Session("besucher") = Request.Form("besucher")
        If Request.Form("firma") <> "" Then Session("firma") = Request.Form("firma")
        If Request.Form("vonDatum") <> "" Then Session("vonDatum") = Request.Form("vonDatum")
        If Request.Form("bisDatum") <> "" Then Session("bisDatum") = Request.Form("bisDatum")
        If Request.Form("vonzeit") <> "" Then Session("vonzeit") = Request.Form("vonzeit")
        If Request.Form("biszeit") <> "" Then Session("biszeit") = Request.Form("biszeit")
        If Request.Form("grund") <> "" Then Session("grund") = Request.Form("grund")
        If Request.Form("eck_ma") <> "" Then Session("eck_ma") = Request.Form("eck_ma")
        If Request.Form("abt") <> "" Then Session("abt") = Request.Form("abt")
        If Request.Form("telnr") <> "" Then Session("telnr") = Request.Form("telnr")
        If Request.Form("onlineuser") <> "" Then Session("user") = Request.Form("onlineuser")
        If Request.Form("test") <> "" Then Session("test") = Request.Form("test")
        If Request.Form("Kfz") <> "" Then Session("Kfz") = Request.Form("Kfz")
        If Request.Form("mode") <> "" Then Session("mode") = Request.Form("mode")
        If Request.Form("abfrage2") <> "" Then Session("abfrage2") = Request.Form("abfrage2")
        If Request.Form("ID") <> "" Then Session("ID") = Request.Form("ID")
        If Request.Form("vdatum") <> "" Then Session("vdatum") = Request.Form("vdatum")

        If Request.Form("stunde_von") <> "" Then Session("stunde_von") = Request.Form("stunde_von")
        If Request.Form("minute_bis") <> "" Then Session("minute_bis") = Request.Form("minute_bis")
        If Request.Form("minute_von") <> "" Then Session("minute_von") = Request.Form("minute_von")
        If Request.Form("stunde_bis") <> "" Then Session("stunde_bis") = Request.Form("stunde_bis")

        If Request.Form("sprache") <> "" Then Session("sprache") = Request.Form("sprache")
        If Request.Form("ort") <> "" Then Session("ort") = Request.Form("ort")
        If Request.Form("hsnr") <> "" Then Session("hsnr") = Request.Form("hsnr")
        If Request.Form("raumnr") <> "" Then Session("raumnr") = Request.Form("raumnr")

        ...%>

        <BODY bgcolor="#ffffff" leftmargin="0" topmargin="0" style="margin-top:0; margin-bottom:0; margin-left:0; margin-right:0">

        <%
        Set OpenRS = Server.CreateObject("ADODB.Recordset")
        Set Conn = Server.CreateObject("ADODB.Connection")

        Conn.Open "DSN=...;UID=...;PWD=...;"

        IF Session("mode")="2" then
        SQLStr = "UPDATE Besuch SET Besucher='" & Session("besucher") & "', Firma='" & Session("firma") & "', Sprache='" & Session("sprache") & "', KFZ='" & Session("Kfz") & "', Besuchvon=Convert(datetime,'"&vondatetime&"',104), Besuchbis=Convert(datetime,'"&bisdatetime&"',104), Grund='" & Session("grund") & "', Ort='" & Session("ort") & "', Eckart_MA='" & Session("eck_ma") & "', Abt='" & Session("abt") & "', Tel='" & Session("telnr") & "', HausNr='" & Session("hsnr") & "', RaumNr='" & Session("raumnr") & "' WHERE ID = '" & Session("ID") & "'"

        Else
        SQLStr = "INSERT INTO Besuch (Besucher, Firma, Sprache, Besuchvon, Besuchbis, Grund, Ort, Eckart_MA, Abt, Tel, Melder, HausNr, RaumNr) VALUES ('" & Session("besucher") & "', '" & Session("firma") & "', '" & Session("sprache") & "', Convert(datetime,'"&vondatetime&"',104), Convert(datetime,'"&bisdatetime&"',104), '" & Session("grund") & "', '" & Session("ort") & "', '" & Session("eck_ma") & "', '" & Session("abt") & "', '" & Session("telnr") & "', '" & Session("user") & "', '" & Session("hsnr") & "', '" & Session("raumnr") & "')"
        End If

        Set OpenRS = Conn.Execute(SQLStr)

        IF Session("mode")="2" then
        %>
        <form method="POST" action="http://.../view.asp" name="check_out">
        <script language="JavaScript">
        alert ("Die Änderung wurde gespeichert!");
        update();
        </script>
        <%
        Session("besucher") =""
        Session("firma") =""
        Session("vonDatum") =""
        Session("bisDatum") =""
        Session("vonzeit") =""
        Session("biszeit") =""
        Session("grund") =""
        Session("eck_ma") =""
        Session("abt") =""
        Session("telnr") =""
        Session("user") =""
        Session("test") =""
        Session("kfz") =""
        Session("mode") =""
        Session("ID") =""
        Session("vdatum")=""
        Session("sprache")=""
        Session("ort")=""
        Session("hsnr") =""
        Session("raumnr") =""
        Session("stunde_von") =""
        Session("minute_bis") =""
        Session("minute_von") =""
        Session("stunde_bis") =""
        %>
        </form>
        <%
        Else
        If Session("mode")="1" then
        %>
        <form method="POST" action="http://.../indextest4.asp">
        <script language="JavaScript">
        window.location.href = "http://.../indextest4.asp";
        </script>
        <%
        Session("besucher") =""
        Session("firma") =""
        Session("vonDatum") =""
        Session("bisDatum") =""
        Session("vonzeit") =""
        Session("biszeit") =""
        Session("grund") =""
        Session("eck_ma") =""
        Session("abt") =""
        Session("telnr") =""
        Session("user") =""
        Session("test") =""
        Session("kfz") =""
        Session("mode") =""
        Session("ID") =""
        Session("vdatum")=""
        Session("sprache")=""
        Session("ort")=""
        Session("hsnr") =""
        Session("raumnr") =""
        Session("stunde_von") =""
        Session("minute_bis") =""
        Session("minute_von") =""
        Session("stunde_bis") =""
        %>
        </form>
        <%
        Else
        If Session("mode")="3" then
        %>
        <form method="POST" action="http://.../indextest4.asp">
        <script language="JavaScript">
        window.location.href = "http://.../indextest4.asp";
        </script>
        <%
        Session("besucher") =""
        Session("firma") =""
        Session("grund") =""
        Session("user") =""
        Session("test") =""
        Session("kfz") =""
        Session("mode") =""
        Session("ID") =""
        Session("vonzeit") =""
        Session("biszeit") =""
        %>
        </form>
        <%
        Else
        %>
        <form method="POST" action="http://.../indextest4.asp">
        <script language="JavaScript">
        window.location.href = "http://.../indextest4.asp";
        </script>
        <%
        Session("vonDatum") =""
        Session("bisDatum") =""
        Session("vonzeit") =""
        Session("biszeit") =""
        Session("grund") =""
        Session("user") =""
        Session("test") =""
        Session("kfz") =""
        Session("mode") =""
        Session("ID") =""
        Session("vdatum")=""
        Session("stunde_von") =""
        Session("minute_bis") =""
        Session("minute_von") =""
        Session("stunde_bis") =""
        %>
        </form>
        <%
        End If
        End If
        End If
        %>

        </div>
        </BODY>


        Und hier der Code-Teil mit den Buttons in der Formulardatei:

        <td width="450px" class="headinput" colspan="3">
        <input type="text" name="telnr" size="25" maxlength="10" value="<% = Session("telnr") %>" class="free">
        </td>
        </tr>
        <tr>
        <td class="content0" colspan="4">
        <img src="http://.../images/spacer.gif" height="10px" width="1">
        </td>
        </tr>
        </table>
        <table border="0" width="550px" id="table4">
        <tr>
        <td class="headinput" colspan="2">
        <img src="http://.../images/spacer.gif" height="15px" width="1" align="left">
        </td>
        </tr>
        <tr>
        <td width="50%" align="center">
        <input type="hidden" id="mode" name="mode" value="">
        <p>
        <input type="Button" class="button" value="Weiteren Besucher anmelden" name="speichernwb" onFocus="blur()" OnClick="document.getElementsByName('mode')[0].value='3'; checktime();">
        </p>
        </td>
        <td width="50%" align="center">
        <p>
        <input type="Button" class="button" value="Weiteren Termin erstellen" name="speichernwt" onFocus="blur()" OnClick="document.getElementsByName('mode')[0].value='4'; checktime();">
        </p>
        </td>
        </tr>
        <tr>
        <td width="100%" align="center" colspan="2">
        <img src="http://.../images/spacer.gif" height="1px" width="1" align="left">
        <input type="hidden" name="onlineuser" value="<% = Session("User") %>">
        <input type="hidden" name="test" value="<% = date() %>">
        </td>
        <tr>
        <td width="50%" align="center">
        <p align="center">
        <input type="Button" class="button" value="Speichern" name="speichern" onFocus="blur()" OnClick="document.getElementsByName('mode')[0].value='1'; checktime();">
        </p>
        </td>
        <td width="50%" align="center">
        <p>
        <input type="reset" class="button" value="Eingabe löschen" name="reset" onFocus="blur()">
        </p>
        </td>
        </tr>
        </table>
        </form>

        Comment


        • #5
          OK, problem ist gelöst ne popelige servereistellung, welche anonymen zugriff erlaubt....
          A.Schmidt

          Comment

          Working...
          X