Prüfen von Checkboxen ob checked

türke

Grünschnabel
Hi,

wenn ich 10 <input type="ckeckbox" name="vote[ ]"> in einem Formular habe und ich möchte das nur 3 checked möglich sind, wie ist die while-, oder foreach-Schleife aufzubauen?

Danke für die Info.
 
Stimmt, weil sehr viele die mit PHP anfangen oder Formulare checken wollen ob Felder ausgefüllt sind auch auf das Formularelement Checkbox stoßen werden.


Also es ging darum, das ich ein Votesystem erstellt habe, das über den Adminbereich die Möglichkeit bietet zu wählen zwischen einer Antwortmöglichkeit in Form von Input - Radio oder über Mehrfachantwortmöglichkeiten in Form von Input - Checkboxen.

Wenn nun der Admin ein Umfrage starten will mit Mehrfachantworten, dann werden je nach Anzahl der Antwortmöglichkeiten Checkboxen generiert.. Das Problem das sich daraus ergibt ist, das man im Grunde alle Antworten anklicken kann und es gibt ein unsinniges Umfrageergebnis. Ergo muss geprüft werden, wieviele Checkboxen angeklickt wurden.

Damit die Checkboxen auch per Index nummeriert werden, hat jede Checkbox über den namen einen element zugewiesen bekommen per name="vote[]" (in der eckklammer wird über eine $id die jeweilige Checkbox hochgezählt.)

Also nun wird das ganze an die selbe datei.php per post gesendet und es erfolgt die Prüfung ob eine Anzahl x nicht über oder unterschritten wurde bezogen auf die Antwortmöglichkeit.

PHP:
$count_vote = count($_POST['vote']);
if($count_vote <> 3) {
echo "Fehler, es d&uuml;rfen maximal 3 M&ouml;glichkeiten ausgew&auml;hlt werden<br><br>";
echo "&nbsp;&nbsp;<a href=\"poll_view.php?id=$id\">zur&uuml;ck</a>";
exit;
}

Wurden die zulässige Anzahl an Checkboxen erfüllt, werden die Daten weiter verarbeitet und in die Datenbank übernommen.
 
Danke für die Lösung :)
Habe das "Problem" selber schonmal gehabt, allerdings bei einem Voting mit Punktevergabe ...
Habe das ähnlich wie du gelöst, wollte aber einfach das hier nochmal für die Nachwelt stehen haben, danke :)
 
Zurück