Andreas: Wert von Radiobuttons

Hallo zusammen! Ich habe wirklich alles durchsucht, mir ca. 30 Mb an Beiträgen runtergeladen, aber leidern nichts gefunden...ist wahrscheinlich zu banal mein Problem.
Ich bekomme einfach keinen Wert für meine Radio-Buttons zurückgeliefert.
Ich benutze die Ausgabe der Daten nach dem Muster wie in der Forumsauslese beschrieben. (perl -w sagt übrigens syntax-error)
<input type=Radio name=tanz value=salsa>
<input ...        name=tanz value=tango>
Wie greife ich auf den angeklicken button zu?

Habe immer $form {'tanz'} probiert und vieles mehr, tut sich nichts.
Über eine Antwort würde ich mich sehr freuen.
Und falls das schon irgendwo beantwortet wurde, sage ich sorry, wirklich nicht gesehen.

P.S. Ist das eigentlich ein gewisser Sportsgeist in  Euch, dass ihr dem Gravenreuth immer wieder antwortet? Der macht sich doch ‚n Jux damit. Ich würde in ignorieren.

  1. hi ho

    (perl -w sagt übrigens syntax-error)

    dann stimmt was nicht mit dem script (syntax error)

    <input type=Radio name=tanz value=salsa>
    <input ...        name=tanz value=tango>

    das ist korrekt.

    Habe immer $form {'tanz'} probiert und vieles mehr, tut sich nichts.

    wenn deine formluardaten im hash %form stehen, ist das korrekt.

    um welchen abschnitt in der auslese gehts?

    cua

    n.d.p.

    1. um welchen abschnitt in der auslese gehts?

      Moin moin,

      steht unter cgi-perl\ Formularauswertung\ wie man einen Hash bekommt.
      Der angebliche Fehler wird immer unmittelbar am Anfang
      der hexadezimalcodierung lokalisiert.

      Schätze bei dir wird‚s o.k. sein  :-(

      1. Hi,

        steht unter cgi-perl\ Formularauswertung\ wie man einen Hash bekommt.

        warum ausgerechnet dieser hoffnungslos veraltete Code in der Auslese steht, wird mir ewig ein Rätsel bleiben.

        #!/usr/bin/perl -w
        use strict;
        use CGI ':standard';
        print header('text/plain'), param('tanz');

        Das ist ein _vollständiges_ CGI-Script, welches Dir den Wert des ausgewählten Radiobuttons anzeigt. Meine Lösung in <109516.html> erzeugt sogar eine komplette HTML-Seite.

        Kürzer, wartbarer und vor allem richtiger wirst Du es nicht hinbekommen.[1]

        Cheatah

        [1] Streiten kann man darüber, daß ':standard' hier sicherlich zu viel des guten ist. Ich gehe aber davon aus, daß der Code irgendwo in einem deutlich größeren Script stehen wird, wo i.d.R. diese Namespacefüllung Sinn macht.

        1. Moin moin, danke, werde ich ausprobieren wenn ich zu Hause bin.
          Hoffe, dass das auf meinem Server funzt. Häufig klappts @localhost, aber nicht remote.
          Der  Remote-Server hat perl 5 installiert.....

          »»  .. daß der Code irgendwo in einem deutlich größeren Script stehen wird, wo i.d.R. diese Namespacefüllung Sinn macht.

          Das verstehe ich leider nicht.
          Fakt ist: Ich möchte nicht nur die Radio-Buttons auswerten, sondern ein ganzes Formular. Ist dafür 'standard* wichtig.?

          Du siehst, ich bin wirklich cgi-Anfänger  ;-(

          1. Hi,

            »»  .. daß der Code irgendwo in einem deutlich größeren Script stehen wird, wo i.d.R. diese Namespacefüllung Sinn macht.

            Das verstehe ich leider nicht.

            der Linksetzer hat ja das wichtigste schon gesagt: RTFM, die Doku sagt mehr als tausend Worte (und ist potentiell weniger falsch).

            Nur ganz kurz: Die Option ':standard' schreibt in den Namespace (also "in die Liste der verfügbaren Befehle") einen riesengroßen Haufen neuer Befehle. Bei kurzen Scripts wird davon nur ein winziger Bruchteil benutzt, weshalb eine andere Option vermutlich sinnvoller ist - siehe dazu perldoc CGI.

            Fakt ist: Ich möchte nicht nur die Radio-Buttons auswerten, sondern ein ganzes Formular. Ist dafür 'standard* wichtig.?

            Nein (wobei der Doppelpunkt in ':standard' wichtig ist). Du kannst auch

            use CGI;
            my $query = new CGI;
            print $query->param('tanz');

            benutzen. Je nachdem wie viele Parameter Du auswertest und was Du sonst noch so machst, ist eine entsprechende Option zum Modul aber sinnvoll.

            Cheatah

  2. Hi,

    Wie greife ich auf den angeklicken button zu?

    #!/usr/bin/perl -w
    use strict;
    use CGI ':standard';
    print header, start_html('Tanz-Test'), h1('And the winner ist...'), p(param('tanz')), end_html;

    Cheatah