Holger Tillmann: Problem mit «type="Checkbox"»: Nur der letzte value wird übertragen

Liebe Leute,
auf der Seite

http://www.zenithonline.de/htmls/abo.htm

findet Ihr ein Mailformular (noch nicht debugged, also sorry für den Datenmüll). Man kann verschiedene Empfänger ankreuzen für einen text, der unten einzugeben ist. Meine Frage: Wenn ich mehrere Ankreuze, kriegt immer nur der alphabetisch erste eine Mail. Wie kann ich es anstellen, dass jede Adresse, die angekreuzt wurde, eine eigene Mail bekommt? Das CGI-script ist FormMail Version 1.6. Ich habe schon den Autor gefragt, abr der ist offensichtlich zu bschäftigt, und vielleicht ist meine Frage ja auch nicht so kompliziert.

Grüße aus HH,
Holger

  1. Liebe Leute,
    auf der Seite

    http://www.zenithonline.de/htmls/abo.htm

    findet Ihr ein Mailformular (noch nicht debugged, also sorry für den Datenmüll). Man kann verschiedene Empfänger ankreuzen für einen text, der unten einzugeben ist. Meine Frage: Wenn ich mehrere Ankreuze, kriegt immer nur der alphabetisch erste eine Mail. Wie kann ich es anstellen, dass jede Adresse, die angekreuzt wurde, eine eigene Mail bekommt? Das CGI-script ist FormMail Version 1.6. Ich habe schon den Autor gefragt, abr der ist offensichtlich zu bschäftigt, und vielleicht ist meine Frage ja auch nicht so kompliziert.

    Grüße aus HH,
    Holger

    Also wenn dein Server auch PHP unterstützt, dann kann ich dir son Script mal mailen

    cu

    Daniel

  2. Hallo Holger,

    Also, es gibt zwei ähnliche Elemente in einem Formular, welche jedoch unterschiedliche Aufgaben erfüllen. Nämlich Checkboxen und Radiobuttons.

    Checkboxen sollen dem Benutzer _verschiedene_ Optionen an- bzw. abwählen lassen.
    Radiobuttons bieten für _eine_  Option verschieden Möglichkeiten an, wobei immer nur _eine_ ausgewählt werden kann.

    Das zum Thema Benutzeroberflächen.

    Für micht ist einigermaßen unklar, welche der Varianten Du verwenden willst. Der Text suggeriert teilweise, daß ich zwischen den Möglichkeiten eine auswählen soll, die Checkboxen sagen 'kreuz uns doch einfach alle an'.

    Vielleich solltest Du Dir dazu auch mal Gedanken machen.

    Abhilfe für Dein Problem köntte sein, daß Du einfach jeder Checkbox einen anderen Namen gibst, da einige Formular-Auswertungen mit Mehrfachbelegungen (z.B.: Select-Elemente mit Mehrfachauswahl) ihre liebe Not haben.

    Ich muß zu meiner Schande gestehen, daß ich nicht weiß, ob die Werte mehrerer Checkboxen vom Browser überhaupt übertragen werden.
    Bin noch nie in die Verlegenheit gekommen, weil ich bis jetzt solche Situationen immer vermieden habe.

    Also, wenns geht, am Besten unterschiedliche Namen vergeben.

    Grüße aus Graz
       Klaus

  3. Hallo Holger,

    .... Man kann verschiedene Empfänger ankreuzen für
    einen text, der unten einzugeben ist. Meine Frage: Wenn ich mehrere Ankreuze,
    kriegt immer nur der alphabetisch erste eine Mail. Wie kann ich es anstellen,
    dass jede Adresse, die angekreuzt wurde, eine eigene Mail bekommt?

    Setz mal _TEST_halber
       <form action="abo.htm" method="get">
    ein. Dann verschickt das Formular die Daten über die URL sichbar an sich
    selber. Das sieht zwar zunächst erstmal heftig aus und Mails kommen auch
    nicht an, aber du wirst sehen wo das Problem ist:
    Die Variable 'recipient' taucht mehrfach auf, einmal für (und mit) jeden
    'angehakten' Wert. (Na, gefunden zwischen den ganzen ?&+%40...? ).
    So, und darauf müsste das cgi-Script eingerichtet sein. Üblicherweise
    verarbeiten die Mail Scripte mehrere Empfänger aber anders: In einer Variable
    auf einmal, die verschieden Empfänger durch Komma getrennt.

    a) Entweder du änderst das cgi-Mail-Script.
    b) Oder du schickst ihm die Daten, die es versteht. (Die onSubmit() von
       einem JavaScript aus den Checkbox-Values zusammegebaut werden.)

    Eventuell noch mal fragen, nachdem du dich Entschieden hast.

    Gruss,
    Carsten

  4. Hi Holger,

    ich hatte jüngst ein ähnlichse Problem: korrekt eingebundene Checkboxes, aber es kam nur max. 1 Value an. Ich bin nicht dahintergestiegen woran es lag (möglicherweise am Perl-Skript, auf das ich aber keinen Einfluss, weil "as is" vom Provider zur Verfügung gestellt), und hab mir so beholfen:
    Die Checkboxes nicht gruppiert, sondern jeder Checkbox einen eigenen "name" zugewiesen. Geht natürlich nur wenn Du nicht darauf darauf angewiesen bist, die Daten automatisch in eine Datenbank zu schreiben.

    Grüße,

    Utz

  5. Vielen Dank für die guten Tips. Ich habe mich jetzt doch für Radiobuttons entschieden. Ich werde mitteilen, wenn ich etwas davon umgesetzt habe!

    Holger Tillmann