Jörg: Radio-Button mit zwei Variablen an CGI übergeben

Beispiel im CGI-File: = Bildschirmausgabe Programmierung
-----
print "<td><font size="2">$in{var1}</font></td>\n";
print "<td><font size="2">$in{var2}</font></td>\n";
usw...

1000    Textausgabe1
oder
3000    Textausgabe2
oder
4000    Textausgabe3
usw..

-----

Beispiel im HTML-File = Auswahl
Ich habe in datei.html mehrere Radio-Button als Auswahl
------
<input type="Radio" name="var1" value="1000">Nr.1<br>
<input type="Radio" name="var1" value="3000">Nr.2<br>
<input type="Radio" name="var1" value="4000">Nr.2<br>
usw....
------------
brauche aber noch, wenn der erste oder zweite oder dritte Radio-Button geklickt wird, eine Textvarible z.B. "var2" mit einem Text z.B. Textausgabe1

Ich hatte gedacht, dass es so funktioniert

<input type="Radio" name="var1, var2" value="1000, Textausgabe1">Nr.1<br>
<input type="Radio" name="var1, var2" value="3000, Textausgabe2">Nr.2<br>
<input type="Radio" name="var1, var2" value="4000, Textausgabe3">Nr.2<br>

geht aber nicht !

Wer kann mir helfen, Danke im vorraus

  1. Hallo Jörg,

    also sorry, aber das Denken können wir dir nicht abnehmen.

    Wie wäre es denn wenn du z.B.  in deinem CGI Script sowas ausprobierst:

    if ($in{var1} == 1000)
    {
      $text = "Textausgabe1";
    }

    Gruß,
    Cruz

    Beispiel im CGI-File: = Bildschirmausgabe Programmierung

    print "<td><font size="2">$in{var1}</font></td>\n";
    print "<td><font size="2">$in{var2}</font></td>\n";
    usw...

    1000    Textausgabe1
    oder
    3000    Textausgabe2
    oder
    4000    Textausgabe3
    usw..


    Beispiel im HTML-File = Auswahl
    Ich habe in datei.html mehrere Radio-Button als Auswahl

    <input type="Radio" name="var1" value="1000">Nr.1<br>
    <input type="Radio" name="var1" value="3000">Nr.2<br>
    <input type="Radio" name="var1" value="4000">Nr.2<br>
    usw....

    brauche aber noch, wenn der erste oder zweite oder dritte Radio-Button geklickt wird, eine Textvarible z.B. "var2" mit einem Text z.B. Textausgabe1

    Ich hatte gedacht, dass es so funktioniert

    <input type="Radio" name="var1, var2" value="1000, Textausgabe1">Nr.1<br>
    <input type="Radio" name="var1, var2" value="3000, Textausgabe2">Nr.2<br>
    <input type="Radio" name="var1, var2" value="4000, Textausgabe3">Nr.2<br>

    geht aber nicht !

    Wer kann mir helfen, Danke im vorraus

    1. danke cruz,
      das hatte ich mir gedacht, dass so eine antwort kommt !

      das in cgi ist mir schon klar.

      warum heist es denn variable, wenn ichs doch in cgi fest programmieren muss.

      auf der html seite soll wert in var1 und var2 variabel sein, dieser wird von hand ab und zu bearbeitet. ich will nicht immer das cgi-file editieren, nur weil sich ein paar werte geändert haben.

      1. Hallo Jörg,

        du hast mit keinem Wort erwähnt, dass es dein Ziel ist diese Textausgabe möglichst konfigurabel zu halten. Mir erschien es, als würdest du krampfhaft versuchen 2 Werte an eine Bedingung zu knüpfen und siehst einfach kein Land.

        Wie auch immer, meiner Meinung nach ist es der selbe Aufwand die Texte in einem CGI Skript zu ändern, wie in einem HTML Dokument. Aber jeder wie er kann, daher gebe ich dir noch zwei Tipps.

        1.

        Du kannst zum Beispiel sowas machen:

        <input type="hidden" name="Text1000" value="Ausgabetext1">
        <input type="hidden" name="Text3000" value="Ausgabetext2">
        <input type="hidden" name="Text5000" value="Ausgabetext3">

        Im CGI Script musst du dann den Text nehmen, der dem gewählten Wert entspricht und den Text an sich kannst du dann in HTML ändern. Das ist aber nicht gerade elegant.

        2.

        Du kannst die Texte in eine Konfigurationsdatei auslagern, in etwa in dieser Form:

        Text1000 = Ausgabetext1
        Text3000 = Ausgabetext2
        Text5000 = Ausgabetext3

        Im CGI Skript liest du dann deine Text von da aus ein. Du hast dann nur noch eine simpele Textdatei, die du editieren musst, um deine Texte zu ändern.

        Ciao,
        Cruz

        danke cruz,
        das hatte ich mir gedacht, dass so eine antwort kommt !

        das in cgi ist mir schon klar.

        warum heist es denn variable, wenn ichs doch in cgi fest programmieren muss.

        auf der html seite soll wert in var1 und var2 variabel sein, dieser wird von hand ab und zu bearbeitet. ich will nicht immer das cgi-file editieren, nur weil sich ein paar werte geändert haben.

        1. @Cruz

          Danke für deine schnelle hilfe

          die idee von andreas ist nicht schlecht, aber wie splitte ich die variable in cgi auf ?

          ps. es ist schwierig zu erklären, was man genau erreichen möchte.

  2. Hallo,

    Ich hatte gedacht, dass es so funktioniert

    <input type="Radio" name="var1, var2" value="1000, Textausgabe1">Nr.1<br>

    weder , noch Leerzeichen sind in name-Attributen erlaubt, das kann also gar nicht funktionieren.

    Mach es doch so:

    <input type="Radio" name="var1" value="1000, Textausgabe1">Nr.1<br>

    Im Script splittest Du dann den Wert von var1 auf in Deine zwei Variablen.

    Andreas

    Ach ja, eins noch: </faq/#Q-05>

    1. @AndreasW

      die idee ist nicht schlecht und sorry nochmal, hast ja recht

      das script läuft zur Zeit super, aber wie splitte ich die variable "var" in cgi auf ?

      $var1 = $in{var}?????
      $var2 = $in{var} ??????

      wenn ich dieses übergebe
      <input type="Radio" name="var" value="1000, Textausgabe1">Nr.1<br>

      danke, für deine mühe

      1. das script läuft zur Zeit super, aber wie splitte ich die variable "var" in cgi auf ?

        $var1 = $in{var}?????
        $var2 = $in{var} ??????

        $in{var} =~ /^(.*), (.*)$/;
        $var1 = $1
        $var2 = $2

        1. Danke Markus,

          ich hatte vom vielen überlegen eine blockade

          endlich mal eine qualivizierte antwort

          ich muste es aber noch ändern

          $in{var} =~ /^(.*), (.*)$/;
          $in{var1} = $1;
          $in{var2} = $2;

          Script läuft jetzt so wie es sein sollte

          Danke nochmals an Markus

      2. @AndreasW

        die idee ist nicht schlecht und sorry nochmal, hast ja recht

        das script läuft zur Zeit super, aber wie splitte ich die variable "var" in cgi auf ?

        Hilfe zur Selbsthilfe:

        perldoc -f split

        wenn Du das durchliest, weißt Du es.

        Andreas