У меня есть массив флажков name = "box []". Через PHP я проверяю, что они проверены после отправки, повторяя «check = 'checked'», если они были проверены на событии submit.
Теперь, если я установлю третий флажок, значение переходит к первому флажку после отправки, так как массив был пуст до третьего флажка. То же самое, если я отмечаю 2-й и 3-й флажок, они переходят на 1-й и 2-й после отправки. Это код, который я использую:
<form method="post">
<input type="checkbox" name="box[]" value="true" <?php if ($box[0] == true) echo "checked='checked'"; ?>><br>
<input type="checkbox" name="box[]" value="true" <?php if ($box[1] == true) echo "checked='checked'"; ?>><br>
<input type="checkbox" name="box[]" value="true" <?php if ($box[2] == true) echo "checked='checked'"; ?>><br>
<p>
<input type="submit" value="Submit">
</form>
Попробуйте по адресу:
http://experiencerapanui.com/selecttest.php
Могу ли я сделать так, чтобы флажки заполняли массив значением "false" или чем-то еще, если флажок не установлен? Куда мне идти?
****** РЕДАКТ. ******
Благодаря phant0m мне удалось найти решение:
<form method="post">
<input type="checkbox" name="box[]" value="1" <?php if (in_array("1", $box)) echo "checked='checked'"; ?>><br>
<input type="checkbox" name="box[]" value="2" <?php if (in_array("2", $box)) echo "checked='checked'"; ?>><br>
<input type="checkbox" name="box[]" value="3" <?php if (in_array("3", $box)) echo "checked='checked'"; ?>><br>
<p>
<input type="submit" value="Submit">
</form>
Установка уникальных значений для флажков, затем, если я найду значение в массиве $ box [], поле помечается как проверенное.