Ich bekomme einige unerwartete Ausgabe aus dem folgenden Code und kann nicht herausfinden, was das Problem ist.PHP For Schleife mit Checkboxen geben keine erwartete Ausgabe
<?
if (isset($_POST['submit'])) {
echo "<pre>";
print_r($_POST);
exit;
}
echo "<form action='test1.php' method='post'>";
for ($i=0;$i < 10;$i++) {
echo "<input type='text' value='$i' name='field[]'>";
echo "<input type='hidden' name='cbox[]' value='0'>";
echo "<input type='checkbox' value='1' name='cbox[]'><br>";
}
echo "<br><input type='submit' name='submit' value='go'>";
?>
Wenn ich das laufen, überprüfen Sie auf sagen wir Nummer 4 und 6, erhalte ich diese Ausgabe:
Array
(
[field] => Array
(
[0] => 0
[1] => 1
[2] => 2
[3] => 3
[4] => 4
[5] => 5
[6] => 6
[7] => 7
[8] => 8
[9] => 9
)
[cbox] => Array
(
[0] => 0
[1] => 0
[2] => 0
[3] => 0
[4] => 0
[5] => 1
[6] => 0
[7] => 0
[8] => 1
[9] => 0
[10] => 0
[11] => 0
)
[submit] => go
)
Warum ist Cbox mich nicht ein Ergebnis von 1 neben der 4 und 6 als ich geben würde es erwarten?
Ich habe das versteckte Feld wegen einer anderen Stackoverflow Frage/Antwort hinzugefügt. Ich möchte die Ausgabe und den Dump in eine Datenbank aufnehmen und entweder eine 0 (für ungeprüft) oder 1 (für geprüft) in mein Datenbankfeld setzen. Wenn ich die versteckten weggelassen, hätte ich bekommen: [Cbox] => Array ( [0] => 1 [1] => 1 ) Wenn dies Sinn macht. – user2502447
Mache es so, wie ich sagte, nenne die Felder 'cbox [0]' etc. Dann überprüfe in einer for-Schleife von 0 bis x, ob der entsprechende Eintrag in $ _POST ['cbox'] gesetzt ist - wenn ja, setzt du 1 in ein Array, sonst 0 ... und da hast du den "kompletten Satz". – CBroe