kostenloser Webspace werbefrei: lima-city


PHP checkboxen auswerten

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    programtools

    programtools hat kostenlosen Webspace.

    Ich habe ein Problem.
    Und zwar habe ich ein Formular mit relativ vielen Checkboxen, die auch ständig erweitert bzw geändert werden können.
    Daher habe ich als name immer ein array angegeben ( name = "box[]" ).
    Allerdings habe ich nun ein Problem mit der Auswertung, da php ja nur den Wert (value) der angeklickten Boxen mitbekommt und von den weggelassenen nichts übergeben wird. Wenn ich das ergebniss aber auswerten will, weiss ich ja garnicht, welche checkbox ich nun habe. Ist es irgendwie möglich auch von nicht geklickten checkboxen eas übergeben zu bekommen oder nicht? Wenn nicht wie könnte ich das anderst lösen? weil ich sehe keine andere Möglichkeit die dynamisch und kompfortabel bleibt.
    Vielen Dank & MFG
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Vergibst Du denn keine Values für Deine Checkboxen? Hier wird das jedenfalls recht gut erklärt: http://www.php-space.info/php-tutorials/18-checkboxen,auswerten,mit,php.html
  4. Autor dieses Themas

    programtools

    programtools hat kostenlosen Webspace.

    Ich glaube du verstehst mein Problem nicht so ganz. Ich kann durchaus die values (die ich natürlich vergeben habe) der Checkboxen die Aktiviert sind auslesen. Nicht aber die der Boxen die nicht angeklickt wurden.

    Beispiel:
    [..]
    v1 <input type="Checkbox" name="box[]" value="v1" class="window_work_group_field_check" />
    v2 <input type="Checkbox" name="box[]" value="v2" class="window_work_group_field_check" />
    v3 <input type="Checkbox" name="box[]" value="v3" class="window_work_group_field_check" />
    [..]


    Angenommen die erste und dritte box wurden selectiert, so ist die Ausgabe beim durchlaufen des Arrays was ich durch die Abfrage nach $_POST['box'] bekommen habe volgende:
    v1
    v3

    Es könnte aber dazwischen noch ein v1.1 existieren, was ich nicht weiss.
    Ich hätte daher gerne soeine Ausgabe:

    v1 -> on
    (v1.1 -> off)
    v2 -> off
    v3 -> on

    Ich hoffe das kann man so verstehen :)
    MFG

  5. Ein spontaner Quick&Dirty-Einfall: zu jeder Checkbox noch ein hidden-Feld mit demselben Value dazu definieren und das Ganze in ein eigenes Array packen. Dann bekommst Du folglich 2 Arrays, ein vollständiges und eins mit den ausgewählten Werten. Diese beiden kannst Du dann vergleichen.
  6. Autor dieses Themas

    programtools

    programtools hat kostenlosen Webspace.

    Ja die Möglichkeit kam mir auch schon in den Sinn, aber wie einfach sind diese Felder zu manipulieren?
    Das kommt also nicht in Frage, weil ich möchte eine Möglichkeit finden, die dennoch sicher ist und nicht ungewollt durch den User beeinflusst werden kann.
    MFG
  7. Etwas Anderes fällt mir auf Anhieb nicht ein, wie soll man auch Daten auswerten, die nicht übermittelt werden? Evtl. kennt da jemand einen genialen Trick, meine bescheidenen Kenntnisse sind hier leider vorerst am Ende :frown:
  8. Du musst doch bei der Ausgabe der Checkboxen irgendwie wissen, wieviele und welche du ausgeben musst. Die Checkboxen werden ja wohl nicht per Zufall erzeugt, oder?
  9. programtools schrieb:
    Ja die Möglichkeit kam mir auch schon in den Sinn, aber wie einfach sind diese Felder zu manipulieren?
    [...]

    Wenn dein PHP Script nicht weiß, welches Werte es zu erwarten hat, ist es egal, ob der Benutzer die Hidden Inputs manipuliert oder einfach die Checkboxen selber.

    Es wäre sinnvoll dem PHP Script mitzuteilen, welche Werte es erwarten kann. Dadurch kannst du auch relativ einfach auslesen, welche nun angekreuzt wurden und welche nicht.
    Z.B. könntest du die möglichen Checkboxen einfach als XML abspeichern o.ä. So kannst du bei der Erzeugung des Formulars darauf zugreifen und bei der Auswertung.

    Beitrag zuletzt geändert: 16.4.2011 1:00:54 von lucas9991
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!