HTML/PHP Checkbox Value in Array speichern?
Moin,
ich hab ein Problem.
Ich möchte ne Liste mit Checkboxen machen. Die Checkboxen die ausgewählt sind sollen in einem Array gespeichert werden und die Checkboxen sollen so lange ausgewählt sein wie der Wert im Array steht. Außerdem soll der Wert aus dem Array gelöscht werden wenn die Checkbox nicht mehr ausgewählt ist.
Hoffe es war soweit verständlich. Arbeite im Moment mit der Funktion array_push();.
Danke im Vorraus
3 Antworten
Gebe im name-Attribut der Checkboxen mit eckigen Klammern an, dass es sich hierbei um eine Sammlung an Elementen handelt, die du in einem Array speichern möchtest:
<input name="cboxes[]" type="checkbox" />
Dann werden nach Absenden des Formulars, in dem sich die Eingabefelder befinden, alle selektierten Checkboxwerte als Array in $_POST["cboxes"] geführt. Beachte, dass sich der Inhalt dieses Arrays nach jedem Request wieder ändert.
(...) und die Checkboxen sollen so lange ausgewählt sein wie der Wert im Array steht.
Für diese Anforderung dürftest du die Boxen erst rendern, wenn das Array alle notwendigen Zustandsänderungen über sich ergehen lassen hat.
Nachträgliche Änderungen an dem Array oder die Selektierung von Boxen durch den Nutzer jedoch führen zu einem nichtsynchronen Zustand zwischen Boxen und Array. In letzterem Fall bräuchtest du ein JavaScript, welches den Server bei Klick auf eine Checkbox über die Zustandsänderung informiert. Das Array müsste mindestens einen Request überdauern können.
Schau mal hier:
https://stackoverflow.com/questions/14026361/php-multiple-checkbox-array
(Sorry, dass es nur ein Link ist...Ich dachte erst ich hätte es selber genauso implementiert, das habe ich aber nicht getan, bzw. wieder geändert...)
was soll denn der sinn und zweck deines formulars sein?
ich versteh nur den sinn dahinter nicht ganz...
Danke für die schnelle Antwort.
Das ist schon mal gut... soweit war ich auch schon...
aber wenn die Checkboxen bleiben nicht checked wenn der Wert im Array steht....