olga_neuss: Bitte um Hilfe! Wie wird im forliegenden Code action benutzt?

Hallo!

Ich habe ein Frage zu action in Formularen.

Ich habe einen HTML-Code, dort ist in action keine Adresse, an die die Formulardaten gesendet werden, sondern ein "Code-wort", das im http-protocoll ausgewertet wird.

Könnte mir jemand erklären, wie das funktioniert?
Wenn ich ähnliches mache, dann denkt der Browser es ist ein File und wartet die ganze Zeit darauf.

Hier ist der Code:

  
<form action="setLED.xwscmd" method="get"><b>Hex Value</b>  
<input type="text" size="1" name="value"><p>  
<input type="submit" value="Submit"><br></form>  

Es wäre sehr nett, wenn jemand mir klarmachen könnte, was hierbei gemacht wird(in action)
Vielen, vielen Dank!!

Hier der ganze Code, falls gebraucht:

  
<html>  
 <head>  
  <title>  
    ML403 Web Server Reference Design, (C) 2006 Xilinx, Inc.  
  </title>  
  <style type="text/css">  
  <!--  
   BODY  
   {  
    color:#000000;  
    font-family:sans-serif;  
   }  
  --!>  
  </style>  
</head>  
  
<body bgcolor = "#f0f0f5" text="#000000" link="#585858" vlink="#828282">  
<img src="logoV2005.gif">  
  
<center>  
<b><font size=+3>PowerPC Web Server on ML403</font></b>  
</center>  
  
<center>  
<table width="80%" border="0" cellpadding="0" cellspacing="0">  
<tr valign=center align=left><td>Welcome to the Xilinx EDK Web Server demonstration, running on the ML403  
Virtex-4 FX FPGA demonstration platform! This design is a minimalist web server implementation using the XMK  
real-time operating system, with the lwIP TCP/IP stack.<p /><p />  
  
All of the documentation for the PowerPC version of this reference design is included right here on the  
web server! Click here to download <a href="xapp434.pdf">XAPP434</a>!.<p>  
</td>  
</tr>  
<tr valign=center align=left><td>Also, check out the following demos:<p></td></tr>  
<tr valign=center align=left><td><b>4-bit LED Display:</b><p>  
Type in a hex value then click Submit to see it displayed as a 4-bit binary value on LED1 - LED4 (DS15, DS4, DS5, and DS6  
on the board). Please note that the bit ordering is 0:3 - in other words, DS15 contains the most significant bit and DS6 contains  
the least significant bit.<br /><p />  
  
<form action="setLED.xwscmd" method="get"><b>Hex Value</b>  
<input type="text" size="1" name="value"><p>  
<input type="submit" value="Submit"><br></form></td></tr>  
<tr valign=center align=left><td><b>Push Buttons:</b><p>  
Push and hold the buttons 1 2 3 4 5 and see the value displayed as binary below when you re-load the page.  
<p><b>Push Button Value: <iframe src="pushbuttonVal.xwscmd" width="100" height="50" align="left" scrolling="no">  
<P>Your browser either does not support inline frames or has them disabled. This demo will not display properly.<P>  
</iframe>  
</td></tr></table>  
</center>  
  
</body>  
</html>  
  

  1. Hi,

    Ich habe einen HTML-Code, dort ist in action keine Adresse, an die die Formulardaten gesendet werden, sondern ein "Code-wort", das im http-protocoll ausgewertet wird.

    Wie kommst du darauf, dass hier bei der action nicht das Ziel angegeben worden waere, an das die Formulardaten gesendet werden sollen?

    <form action="setLED.xwscmd" method="get">

    Ob da nun verarbeitung.php, setLED.xwscmd oder auch qrrrkzxxs stuende, ist doch dem Browser vollkommen egal.

    Könnte mir jemand erklären, wie das funktioniert?

    Wenn du das Formular absendest, schickt dein Browser einen entsprechenden Request ab.
    Diesen zu verarbeiten, ist Sache des Servers - und wie er das macht, wissen wir nicht, hat uns auch gar nicht zu interessieren.
    Er kann dem Pfad, an den die Daten geschickt werden, eine Datei zuordnen, die dann bspw. als Script aufgerufen wird - oder sonstwas damit machen.

    Wenn ich ähnliches mache, dann denkt der Browser es ist ein File und wartet die ganze Zeit darauf.

    Wenn du "so etwas aehnliches" machen willst, dann muss dein Server natuerlich auch entsprechend darauf reagieren.

    MfG ChrisB

    --
    „This is the author's opinion, not necessarily that of Starbucks.“
    1. Wenn du das Formular absendest, schickt dein Browser einen entsprechenden Request ab.
      Diesen zu verarbeiten, ist Sache des Servers - und wie er das macht, wissen wir nicht, hat uns auch gar nicht zu interessieren.

      Eigentlich interessiert mich das schon weil die gasamte aufgabe ist, den Webserver zu machen.

      Er kann dem Pfad, an den die Daten geschickt werden, eine Datei zuordnen, die dann bspw. als Script aufgerufen wird - oder sonstwas damit machen.

      Könntest du viellecht ein konktetes Bsp bringen, was der Server mit diesem Pfad machen könnte?

      setled.xwscmd steht da, weil der http-protocoll dann xwscmd liest, merkt, es ist ein Befehl(=Command =cmd) und liest dann setled aus und merkt dann er muss die LEDs einschalten.
      Aber ich weiß nicht was er noch dem Browser sagen muss, damit dieser nicht auf irgendwas wartet.

      1. Hi,

        Könntest du viellecht ein konktetes Bsp bringen, was der Server mit diesem Pfad machen könnte?

        Zum Beispiel sowas:

        setled.xwscmd steht da, weil der http-protocoll dann xwscmd liest, merkt, es ist ein Befehl(=Command =cmd) und liest dann setled aus und merkt dann er muss die LEDs einschalten.

        Aber ich weiß nicht was er noch dem Browser sagen muss, damit dieser nicht auf irgendwas wartet.

        Er muss ihm eine Antwort per HTTP uebermitteln.

        Wenn der Browser keinerlei Daten erhalten soll, waere die kuerzeste Antwort ein HTTP-Statuscode 204 No Content.

        MfG ChrisB

        --
        „This is the author's opinion, not necessarily that of Starbucks.“
        1. Hallo, ChrisB!

          Vielen Dank für deine Nachrichten!
          Ich habe im Nachinein deine erste Nachricht verstanden, und sie hat mir geholfen! Vielen Dank!
          Jetzt arbeite ich wieder am protokol.

          An Cheatah
          Danke auch an Cheatah für die Erklärung, welche so ziemlich das gleiche sagte wie die von ChrisB.
          Ich möche dir hinzufügen, dass der vorliegende Code nicht von mir ist, sondern ein Teil eines Beispiels für einen embedded Webserver von Xilink und funktioniert selbst recht gut, und sieht auch gut aus.
          http://www.xilinx.com/support/documentation/application_notes/xapp434.pdf
          www.xilinx.com/bvdocs/appnotes/xapp434.zip

          Und ausserdem jeden Satz im einzelnen zu beantworten ist einwenig "dümmlich". Ich habe die einzelnen Teile des Postings auch nicht unabhängig von einander geschrieben.
          In dieser Art klingt deine Antwort ziemlich arrogant, ist dir das noch nie aufgefallen?

          Ich danke euch in jedem Fall trotzdem für eure Hilfe!

          Olga

          1. Tach,

            An Cheatah

            dies hier ist (glücklicherweise) ein Forum und kein Board, hier wäre es sinnvoll dein Posting auf zwei aufzuteilen, dann ist auch da direkt ersichtlich, auf wen bzw. was du antwortest.

            Und ausserdem jeden Satz im einzelnen zu beantworten ist einwenig "dümmlich".

            Nein, es ist eine der üblicheren Zitierarten, die sich über Jahre bewährt hat. Man kann wunderbar erkennen, auf was sich der Antwortende jeweils bezieht.

            In dieser Art klingt deine Antwort ziemlich arrogant, ist dir das noch nie aufgefallen?

            Dieser Vorwurf kommt hier hin und wieder mal, allerdings wird da meist die technische Sachlichkeit, die viele Stammposter hier zu Tage tragen, mißverstanden.

            mfg
            Woodfighter

  2. Hi,

    Ich habe einen HTML-Code, dort ist in action keine Adresse, an die die Formulardaten gesendet werden,

    doch, da ist eine absolut korrekte relative URI. Sie lautet "setLED.xwscmd".

    sondern ein "Code-wort", das im http-protocoll ausgewertet wird.

    Das ist in exakt dem selben Maße ein "Code-Wort", wie "foo.html" eines ist. Und ebenso gut hätte genau dies dort stehen können - nur ist der Server wohl eher so eingerichtet, dass "setLED.xwscmd" das Ziel ist, welches die Daten auswerten soll.

    Könnte mir jemand erklären, wie das funktioniert?

    In der Regel recht gut.

    Wenn ich ähnliches mache, dann denkt der Browser es ist ein File und wartet die ganze Zeit darauf.

    Repariere den Server. Übrigens denkt der Browser im HTTP-Kontext ganz sicher nicht an Files; er wartet auf die Antwort, weil der Server sie nicht (oder nicht vollständig) liefert.

    Hier ist der Code:

    Er ist aus HTML-Sicht etwas dümmlich, aber für Dein Problem völlig irrelevant - von der URI abgesehen. Kontrolliere auf Serverseite, was dort mit ihr assoziiert wird und analysiere die zugehörigen Vorgänge.

    Es wäre sehr nett, wenn jemand mir klarmachen könnte, was hierbei gemacht wird(in action)

    Eine URI angegeben. Mehr nicht, und weniger auch nicht.

    Hier der ganze Code, falls gebraucht:

    Wow. Validiere den mal lieber. Anschließend wäre es für alle Beteiligten nützlich, ihn wegzuschmeißen und dann neu herzustellen - diesmal mit Sinn und Verstand. Was dieser beiden Dinge CSS ist, darfst Du selbst herausfinden.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes