Sandra: Auslesen gruppierter Checkboxen

Hallo,

am 15.4.2000 beschrieb Thorsten folgendes Problem, mit dem ich mich auch gerade herumschlage:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Erstmal ein kleines Code-Beispiel, damit ich besser mein Problem erklären kann

<form action="check.php3" method=post">
<input type=checkbox name="test" value="n1">
<input type=checkbox name="test" value="n2">
</form>

Nun versuche ich innerhalb des PHP-Skriptes herauszufinden, welche
der Checkboxen aktiviert sind. Ich habe mich dabei an der SELFHTML-Doku orientiert.

Unter (Checkboxen)
http://www.teamone.de/selfhtml/tche.htm#a2

war zu lesen

" ...Wenn der Anwender das Formular abschickt, werden die Bezeichnerwerte des oder _der_ angekreuzten Buttons
übertragen ..."

Was für mich heist, das bei Gruppierten Checkboxen, die Werte _aller_
anktivierten Checkboxen übertragen werden.

Das würde für mich heißen, das wenn ein Anwender beide Checkboxen aktiviert folgendes PHP-Skript

<?php

echo "$test";

?>

die Ausgabe "n1n2" liefern müßte, oder ???

Ich habe das Problem dadurch gelöst, das ich Arrays benutze
..
<input type=checkbox name="test[0]" value="n1">
<input type=checkbox name="test[1]" value="n2">
..

den Array kann ich dann ganz bequem auslesen, trotzdem würde mich das ganze irgendwie wahnsinnig interessieren
warum der erste Versuch kein Erfolg brachte. habe ich etwas falsch gemacht oder habe ich das ganze nicht so
recht verstanden..
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Leider hatte darauf niemand eine befriedigende Antwort. Thorstens Lösung mit dem Array funktioniert zwar, ist aber im Grunde doch nur eine Art, das eigentliche Problem zu umgehen.
Vielleicht habe ich heute mehr Glück als Thorsten und ein irgendein netter intelligenter Mensch nennt mir des Rätsels Lösung.

Grüsse,
Sandra

  1. hi sandra,

    Hallo,

    am 15.4.2000 beschrieb Thorsten folgendes Problem, mit dem ich mich auch gerade herumschlage:

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    Erstmal ein kleines Code-Beispiel, damit ich besser mein Problem erklären kann

    <form action="check.php3" method=post">
    <input type=checkbox name="test" value="n1">
    <input type=checkbox name="test" value="n2">
    </form>

    <snip>

    Das würde für mich heißen, das wenn ein Anwender beide Checkboxen aktiviert folgendes PHP-Skript

    <?php

    echo "$test";

    ?>

    die Ausgabe "n1n2" liefern müßte, oder ???

    »»

    nein; da dein html-type nur 'test' heisst, werden die wert sukzessiv überladen, d.h. wenn du z.b. als methode zur
    formularverschickung ( dummes wort, hm? ) GET nimmst, sieht das ganze nach dem submit dann so aus:

    check.php3?test=n1&test=n2

    du könntest also einfach den parameterteil der url auswerten ( viel zu kompliziert! regulärer ausdruck oder
    splitten oder oder oder .... ) oder besser:

    Ich habe das Problem dadurch gelöst, das ich Arrays benutze
    ..
    <input type=checkbox name="test[0]" value="n1">
    <input type=checkbox name="test[1]" value="n2">
    ..

    gleich einen array draus machen! perfekt!
    hoffe, die antwort hat dir geholfen.

    gruss, christian