PU644: Wertübergabe HTML/CGI

Hallo,

ich habe ein Problem, und zwar habe ih ein HTML-Dokument mit mehreren Formularfeldern. Die Werte dieser Formulare sollen beim Klick auf einen Button an ein anderes Programm auf dem Server übergeben werden (also Aufruf mit

<a href=".../Programmname"</a>

Nur, wie übergebe ich jetzt die Werte der Formularfelder? Ich habe mal sowas gesehen:

<a href=".../Programmname?form1.value"</a>

Kann das funktionieren oder hat mir jemand einen anderen Ratschlag? Bin echt um jeden Kommentar dankbar!

Grüße, Dennis

  1. Tag PU644.

    Nur, wie übergebe ich jetzt die Werte der Formularfelder? Ich habe mal sowas gesehen:
    <a href=".../Programmname?form1.value"</a>

    Was du meinst, ist die GET-Methode, also das Anhängen von "name=wert"-Paaren an einen URL. Beispiel:

    <a href=".../Programmname?name1=wert1&name2=wert2">Klick</a>

    Allerdings könnte auch Javascript im Spiel sein, beschreibe einfach mal genauer, was du vorhast.

    [dsf 3.6]
    Siechfred

    --
    »Sie kochten heimlich mit Wasser und tranken öffentlich Wein.«
    1. Tag PU644.

      Kleiner Nachtrag:

      Nur, wie übergebe ich jetzt die Werte der Formularfelder?

      Das macht der Browser beim Absenden eines Formulars eigentlich automatisch ...

      [dsf 3.6]
      Siechfred

      --
      »Sie kochten heimlich mit Wasser und tranken öffentlich Wein.«
    2. Zuerst mal Danke für die schnelle Antwort!

      Ich programmiere an einem Beck-Chip DK40 herum. Das ist ein Embedded Webserver und er soll eine Brücke zwischen TCP/IP und einer seriellen Schnittstelle schlagen. Ich programmiere also in C ein Programm, welches auf dem Server läuft. In diesem Programm ist HTML-Code eingebettet, der beim Aufruf des Programms durch einen Browser eine HTML-Seite generiert. Dort wird der User dann nach den Parametern für die Serielle Schnittstelle gefragt. Nach dem einstellen der Werte (also Baudrate, Parität, etc...) sollen diese Einstellungen per Klick auf einen Button dem laufenden Programm (also der programmierten *.exe Datei) wieder übergeben werden, um dann die Schnittstellenkonfiguration durchzuführen.
      Nur sollte ich die Werte eben übergeben oder eventuell direkt im nachfolgenden C-Code weiterverwenden können.
      Ich habe die Version mit dem Programmname?form1.value schon mal ausprobiert, aber so funktioniert es halt noch nicht.

      Hast Du eine Idee? Wäre echt klasse.

      Gruß, Dennis

      1. Tag PU644.

        Ich programmiere also in C ein Programm, welches auf dem Server läuft. In diesem Programm ist HTML-Code eingebettet, der beim Aufruf des Programms durch einen Browser eine HTML-Seite generiert. Dort wird der User dann nach den Parametern für die Serielle Schnittstelle gefragt. Nach dem einstellen der Werte (also Baudrate, Parität, etc...) sollen diese Einstellungen per Klick auf einen Button dem laufenden Programm (also der programmierten *.exe Datei) wieder übergeben werden, um dann die Schnittstellenkonfiguration durchzuführen.  Nur sollte ich die Werte eben übergeben oder eventuell direkt im nachfolgenden C-Code weiterverwenden können.

        Hm, C ist nicht meine Baustelle, aber es sollte auch in dieser Programmiersprache eine Möglichkeit geben, Parameter abzurufen. Wenn du sowieso ein Formular hast, dann kannst du die Daten ganz einfach übermitteln, indem du das Formular vom Browser verarbeiten lässt:

        <form action="pfad/zu/c_programm.exe" method="post">
          <p>Baudrate: <input type="text" name="baudrate" value="" /></p>
          <-- weitere Eingabefelder -->
          <p><input type="submit" name="submit" value="Senden" /></p>
        </form>

        Mehr brauchst du nicht. Das C-Programm muss dann die via POST übergebenen Werte auslesen und weiterverarbeiten, bei meinem obigen Beispiel gibt es z.B. ein Pärchen "baudrate=xxx". Natürlich könntest du auch method="get" nehmen, das ist prinzipiell wurscht. Wie du allerdings mit C an die Formulardaten kommst, kann ich dir nicht sagen, vielleicht hilft dir dieses Tutorial weiter.

        Siechfred

        --
        »Sie kochten heimlich mit Wasser und tranken öffentlich Wein.«