@hpzeller
ich wollte es kurz halten, ok zu kurz.
<form name="customers" action="http://localhost/user_admin.php?action=updateuser" method="post" onSubmit="return check_form();">
<input type="text" name="UserName" value="webald">
<input type="hidden" name="Enabled" value="0">
<input type="checkbox" name="Enabled" value="1" checked>
</form>
und dann lass mal s das hiddenfield weg.
@hendrik
Ja, gutes Programmieren geht anders. Bei 2 oder 3 checkboxen ist es auch ok, zu prüfen ob eine Parameter übergeben wurde oder nicht. Spätestens ab 20 Checkboxen im Formular ist das aber Mist.
Das wensentliche ist die Reihenfolge der Felder im Formular. Das Hiddenfield belegt den Wert nur vor, die Checkbox überschreibt im Fall von checked=true, im Fall von checked=false macht sie nichts (genau das ist das Problem, diese nichts). Würde statt des nichts ein Wert 0 gesetzt werden, bräuchte man kein Hiddenfield.
Das was ich dort oben mache ist nicht anderes als in einem Array einen Key mit verschiedene Werten zu füllen.
<input type="hidden" name="Enabled" value="0"> ist gleichbedeutend mit $arr["Enabled"]='0'
<input type="checkbox" name="Enabled" value="1" checked> ist gleichbedeutend mit $arr["Enabled"]='1'
aber
<input type="checkbox" name="Enabled" value="1"> ist NICHT gleichbedeutend mit $arr["Enabled"]='0', sondern der Key "Enabled" wird gar nicht im Array benutzt. Es sei denn er istmit dem Hiddenfield bereit im Array vorhanden.
Was mehrfach den gleichn Namen angeht, kann man entgegenhalten, dass das bei Radioboxen üblich ist. Mein Frage aber zielte ja tatsächlich darauf ab, ob da Probleme bekannt sind oder nicht.