de.comp.lang.php.* FAQ

11.10. Wie kann man Checkboxen verarbeiten?

Antwort von Kristian Köhntopp

Wenn die Checkboxen nicht markiert sind, werden sie überhaupt nicht übermittelt. Andernfalls haben sie den im Attribut VALUE= angegebenen Wert. Man kann die Elemente auf die folgenden beiden Arten erzeugen:

# Fall 1: Verschiedene Namen, gleicher Wert
<input type="checkbox" name="cbutton[1]" value="yes" />
<input type="checkbox" name="cbutton[2]" value="yes" />

# Fall 2: "Gleiche" Namen, verschiedene Werte
<input type="checkbox" name="cbutton[]" value="1" />
<input type="checkbox" name="cbutton[]" value="2" />

Die Abfrage erfolgt in beiden Fällen mit

if (isset($_REQUEST['cbutton'])) {
  reset($_REQUEST['cbutton']);
  foreach ($_REQUEST['cbutton'] as $k => $v) {
    print "$k $v\n";
  }
} else {
  print "alle cbutton schlafen schon.\n";
}

Im Fall 1 wertet man die $k aus, im Fall 2 die $v. Entscheidend ist auch hier, dass der Variablennamen bei mehr als einer Checkbox mit [] endet, damit in PHP ein Array zur Verfügung steht.

Valid HTML 4.01! Valid CSS!

11.10. Wie kann man Checkboxen verarbeiten?
http://www.php-faq.de/q/q-formular-checkbox.html
Archiv der de.comp.lang.php-FAQ Dies ist eine Archivseite von 2008 und wurde seitdem nicht geändert. Das dclp-FAQ-Team