code:
<input type="checkbox" name="checkme" checked="checked" />
Обратите внимание, id в input объекте нет! Согласно последним стандартам к таким html объектам нужно обращаться через свойство name. Также обратите внимания, что нет и value, при type="checkbox" это значение не прописывается. Оно по умолчанию =0. То есть нет смысла его указывать, если не требуется выставить, что либо принудительно.

Речь идет о стандарте: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">, в других стандартах DOCTYPE данный объект может писаться по другому. Смотрите внимательно спецификацию.
Можно сделать так. Перед тегом <input type="checkbox"> поместить тег <input type="hidden"> с тем же самым значением параметра «name»:
code:
<form …>
…
<input type="hidden" name="checkme" value="0">
<input type="checkbox" name="checkme" value="1">
…
</form>
…
<input type="hidden" name="checkme" value="0">
<input type="checkbox" name="checkme" value="1">
…
</form>
Теперь если checkbox установлен, в переменной $checkme передастся «1», в противном случае «0». Однако, если у вас будет 10 checkbox`ов, то будете уже не приятно удивлены, как быстро начнет увеличиваться ваш html код, а некоторые браузеры покрутят пальцем возле вашего виска.
Правильно делать так...
Для начала, нужно форму сделать согласно стандартам консорциума W3C
Код html:
code:
<form action="page.php" method="post">
<input type="checkbox" name="checkme" checked="checked" /> <- правильно пишем input согласно стандартам
</form>
<input type="checkbox" name="checkme" checked="checked" /> <- правильно пишем input согласно стандартам
</form>
Код PHP:
code:
function checkbox_verify($_name)
{
$result=0;// обязательно прописываем, чтобы функция всегда возвращала результат
// проверяем, а есть ли вообще такой checkbox на html форме, а то часто промахиваются
if (isset($_REQUEST[$_name]))
{ if ($_REQUEST[$_name]=='on') { $result=1; } else { $result=0; }
}
return $result;
}
{
$result=0;// обязательно прописываем, чтобы функция всегда возвращала результат
// проверяем, а есть ли вообще такой checkbox на html форме, а то часто промахиваются
if (isset($_REQUEST[$_name]))
{ if ($_REQUEST[$_name]=='on') { $result=1; } else { $result=0; }
}
return $result;
}
В итоге, вызов получается очень простым:
code:
echo checkbox_verify('checkme');