Rannh: Probleme mit Request.Form()

Grüss euch,

ich dreh durch, ich bin seit Jahren VB-Programmierer, aber beim ASP verbringe ich 80% meiner Zeit mit Errorhandling.

Ich habe auf "seite1.asp" ein Form mit Textfeld und hiddenfeld:

<form method="post" action="result.asp" enctype="multipart/form-data" id="form1" name="form1">
<input type="hidden" name="hdd" value="abc">
<input type="text" name="txt" value="def">
</form>

Und möchte auf der Seite "result.asp" die Werte abfragen:
Response.Write "edituser:" & Request.Form("hdd")
Response.Write "file:" & Request.Form("txt")

Jedoch funktioniert das wieder mal nicht. Liegt's vielleicht an der id-Eigenschaft?

mfg

  1. Moin,

    Jedoch funktioniert das wieder mal nicht. Liegt's vielleicht an der id-Eigenschaft?

    Merkwürdig. Kann mir nicht vorstellen, daß "id" schuld wäre.
    Welche Fehlermeldung kommt denn?

    MfG
    MarkX.

    1. Kein Text
      Kein Text
      Kein Text
      Kein Text

  2. Sei gegrüsst

    Response.Write "edituser:" & Request.Form("hdd")

    Das sollte eigentlich schon funktionieren. Versuch es aber mal mit Request.Form("hdd").Value. Frag auch mal die Übergabemethode mit Request.ServerVariables("REQUEST_METHOD") ab.

    HTH

    Tom2

    --
    SELF-Code: (http://emmanuel.dammerer.at/selfcode.html)
    ss:| zu:) ls:& fo:) de:] va:) ch:] sh:( n4:& rl:° br:> js:| ie:% fl:( mo:}
    1. Sei gegrüsst

      Response.Write "edituser:" & Request.Form("hdd")

      Das sollte eigentlich schon funktionieren. Versuch es aber mal mit Request.Form("hdd").Value. Frag auch mal die Übergabemethode mit Request.ServerVariables("REQUEST_METHOD") ab.

      HTH

      Tom2

      Grüss dich,

      das ist so deppat!!! Ich mache das mit Forms ja nicht zum ersten mal.

      Zum Thema:
      Request.Form("x").Value > Error > ungültig
      Request.ServerVariables("REQUEST_METHOD") = "POST"

      Ich bekomme die Variablen trotzdem nicht

  3. Hallo,

    Ich habe auf "seite1.asp" ein Form mit Textfeld und hiddenfeld:

    <form method="post" action="result.asp" enctype="multipart/form-data" id="form1" name="form1">

    Und möchte auf der Seite "result.asp" die Werte abfragen:
    Response.Write "edituser:" & Request.Form("hdd")
    Response.Write "file:" & Request.Form("txt")

    Response.Write weiß hier nicht welche Form Du meinst, Deine Form hat den Namen "form1". Du mußt auf das FormCollection-Object zugreifen.

    Beste Grüße
    Viennamade

    1. Response.Write weiß hier nicht welche Form Du meinst, Deine Form hat den Namen "form1". Du mußt auf das FormCollection-Object zugreifen.

      Beste Grüße
      Viennamade

      Hi!
      Was hat das mit Response.Write zu tun? Oder hast du das Request gemeint?

      Ich habe den Code bereits mehrmals erfolgreich in allen Variationen benutzt, nur hidden-Fields und Forms mit ID-Werten noch nicht.

      Ich vermute daher, dass dort der Haken schief hängt (oder wie der Spruch lautet...)

      mfgn

      1. Response.Write "<br>edituser:" & Request.Form("hdd_edituser")
        Response.Write "<br>file:" & Request.Form("txt_file")
        Response.Write "<br>len:" & Request.ServerVariables("CONTENT_LENGTH")

        ---------------
        Result:

        edituser:
        file:
        len:424

        1. Hi,

          grundsätzlich meine Meinung: Der Fehler steckt an einer anderen Stelle, welche du hier nicht offenbarst.

          Baue doch mal folgende Prozedur in deine Scripts ein und lasse sie jedes mal zum Seitenbeginn ausführen (der Sinn dieser Prozedur sollte dir klar sein, auch ohne Inline-Dokumentation):

          sub porb
            for each eporb in Request.Form
              response.write "<b>Request.Form('" & eporb & "') = </b>" & request.form(eporb) & "<br>"
            next
            for each eporb in Request.QueryString
              response.write "<b>Request.QueryString('" & eporb & "') = </b>" & request.querystring(eporb) & "<br>"
            next
          end sub

          Übrigens hat dein Problem nicht sonderlich viel mit dem in VB sowieso nicht richtig vorhandenen Errorhandling zu tun.

          Gruß, Frank

      2. Hallo!

        Was hat das mit Response.Write zu tun? Oder hast du das Request gemeint?

        Ja, das meinte ich: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/iis/ref_vbom_reqocf.asp

        Beste Gruesse
        Viennamade

    2. Habe im Internet danach gesucht.

      Es gibt nur das Request-Objekt, was aber wohl nicht zutrifft.

  4. Hallo,

    ich dreh durch, ich bin seit Jahren VB-Programmierer, aber beim ASP verbringe ich 80% meiner Zeit mit Errorhandling.

    Ich habe auf "seite1.asp" ein Form mit Textfeld und hiddenfeld:

    <form method="post" action="result.asp" enctype="multipart/form-data" ...

    ^Wozu wird dieser enctype benötigt?

    Und möchte auf der Seite "result.asp" die Werte abfragen:
    Response.Write "edituser:" & Request.Form("hdd")

    http://www2.themanualpage.org/asp/asp_request_form.php3
    Warning! This collection is not able to handle file uploads, and more generally, it is not able to handle multipart encoded forms (i.e. forms where enctype is set to multipart/form-data). One must use a dedicated librairy.

    Willst Du einen Datei-Upload realisieren?

    viele Grüße

    Axel

    1. Hallo,

      ich dreh durch, ich bin seit Jahren VB-Programmierer, aber beim ASP verbringe ich 80% meiner Zeit mit Errorhandling.

      Ich habe auf "seite1.asp" ein Form mit Textfeld und hiddenfeld:

      <form method="post" action="result.asp" enctype="multipart/form-data" ...
                                                 ^Wozu wird dieser enctype benötigt?

      Und möchte auf der Seite "result.asp" die Werte abfragen:
      Response.Write "edituser:" & Request.Form("hdd")
      http://www2.themanualpage.org/asp/asp_request_form.php3
      Warning! This collection is not able to handle file uploads, and more generally, it is not able to handle multipart encoded forms (i.e. forms where enctype is set to multipart/form-data). One must use a dedicated librairy.

      Willst Du einen Datei-Upload realisieren?

      Jepp. Fileupload. Ich dachte, diesen EntType soll man als Standard verwenden. Muss mich darüber informieren.

      mfg

      1. Hi,

        diese Fileuploads in ASP sind etwas tückisch. Mein Provider setzt dafür ein extra Control ein. Das hat den direkt zwei Nebenwirkungen:
        a) Das Request-Objekt ist so gar nicht mehr befüllt, sondern man muss mit dem entsprechenden Upload-Objekt arbeiten, das dann auch alle anderen Formulareinträge fängt
        b) Die FormularEINTRÄGE stehen erst zur Verfügung, NACHDEM du die Datei gespeichert hast (in meinem Fall mittels .save)

        Von daher meine Empfehlung: Nur multipart verwenden, wenn du wirklich mit einem Upload arbeiten willst, weil es doch etwas umständlicher ist.

        MfG
        Rouven

        --

        -------------------
        ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(
        1. Grüss euch,

          zuerst mal danke Jungs und Mädels. Der Code hatte bei mir bereits funkioniert, ich habe ihn dann aber abgeändert und die Funktion mit dem FileUpload deaktiviert (zum Testen).

          Ich werde jetzt vom Normalfall ausgehen und mir das dann nochmal anschauen.

          bis dann

      2. Hallo,

        Willst Du einen Datei-Upload realisieren?
        Jepp. Fileupload.

        Das ist mit ASP nicht simpel. Entweder kannst Du auf ein serverseitiges ActiveX-Control dafür zugreifen (Provider fragen!) oder Du musst Dir mit Request.BinaryRead http://www2.themanualpage.org/asp/asp_request_binaryread.php3 die Daten aus den raw data pfriemeln.

        Ich dachte, diesen EntType soll man als Standard verwenden.

        Nein. Der ist speziell für Datei-Uploads gedacht.
        Die Daten kommen mit multipart/formdata in mehreren einzelnen Teilen (Multi-Part) am Server an:

        Bsp.: Formular

        <form action="x" method="post" enctype="multipart/formdata">
         <input type="text" name="Vname">
         <input type="text" name="Nname">
         <input type="text" name="Gebdatum">
         <input type="file" name="Bild">
        </form>

        bringt:

        -----------------------------7d22a54d00264
        Content-Disposition: form-data; name="Vname"

        Klaus
        -----------------------------7d22a54d00264--
        -----------------------------7d22a54d00264
        Content-Disposition: form-data; name="Nname"

        Maier
        -----------------------------7d22a54d00264--
        -----------------------------7d22a54d00264
        Content-Disposition: form-data; name="Gebdatum"

        12.04.1978
        -----------------------------7d22a54d00264--
        Content-Disposition: form-data; name="Bild";
                             filename="C:\meinbild.gif"
        Content-Type: application/octet-stream

        [Byte-Daten des Bildes]
        -----------------------------7d22a54d00264

        Das hast Du dann auseinander zu fummeln ;-))

        viele Grüße

        Axel