if (isset($_GET['checkbox_name'])) { ... }
Элементы управления формы (за исключением входных файлов и с некоторыми специальными правилами для входов изображений) всегда отправляют строки . В строке запроса или в теле POST, закодированном в форме, отсутствует понятие логического значения.
Идентификатор не имеет значения - важны только имя и значение (по крайней мере, для PHP).
Так как вы не дали им значения, они будут, IIRC, по умолчанию on
, поэтому, если вы проводите сравнение, вы должны искать это. Хотя смотреть с isset
проще. Хотя это несколько не относится к делу, поскольку ваш пример дает им одно и то же имя и значение, поэтому вы не можете различить их.
Кроме того, из-за странности синтаксического анализатора данных PHP, вы должны заканчивать его []
, если вы хотите, чтобы несколько элементов имели одно и то же имя.
Вы, вероятно, хотите сделать что-то вроде этого:
<label>
<input name="Language[]" type="checkbox" id="aa" checked="checked" value="One" />
One</label>
<label>
<input name="Language[]" type="checkbox" id="bb" value="Two" />Two</label>
<label>
<input type="checkbox" name="Language[]" id="cc" value="Three" />Three</label>
Важно : обратите внимание на добавление значений и изменение имени.
Тогда в PHP $_GET['Language']
будет Массив значений отмеченных флажков, которые вы можете зациклить.