HTML/PHP Checkbox Value in Array speichern?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

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...)

dekidama 
Fragesteller
 16.10.2017, 16:54

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.... 

0
Destranix  16.10.2017, 17:02
@dekidama

Du verarbeitest die Daten mit php. Also wird die Seite gewissermaßen neu geladen und die Formulardaten gelöscht...

Entweder, du selektierst die Daten beim bearbeiten der daten nocheinmal, oder du arbeitest mit Javascript...

0

was soll denn der sinn und zweck deines formulars sein?

ich versteh nur den sinn dahinter nicht ganz...