checkbox значение при снятом флажке

Статус
В этой теме нельзя размещать новые ответы.

berkut

Новичок
triumvirat ыы) симу посмел перечить, акстись покуда не поздно! Гораздо легче воткнуть isset(), чем дублировать чекбоксы хидден полями. Любое дублироване черевато.
 

Духовность™

Продвинутый новичок
Чем черевато? А isset не черевато дублировать? Особенно, если чекбоксов будет целая куча?

Если программа ожидает какие-то данные, в контексте чекбокса это либо 0, либо 1, то эти данные программе нужно дать. А не делать кучу проверок.

Используя hidden-поля мы гарантированно получим в программе переменную.
 

berkut

Новичок
а get параметры как дублировать? если я скопирую ссылку из адреной строки, вставлю в форум - а он её обрежет. если тебе надо 0 или 1 чем плох вариант:
$myCheckBox = !empty($_POST['myCheckBox']);
дохрена проверок?

-~{}~ 13.02.08 12:27:

нахрена дублировать тучу полей - это сколько тупой писанины.
 

Духовность™

Продвинутый новичок
а get параметры как дублировать? если я скопирую ссылку из адреной строки, вставлю в форум - а он её обрежет.
ничего не понял. при чем тут форум и адресная строка?

$myCheckBox = !empty($_POST['myCheckBox']);
дохрена проверок?
ЗАЧЕМ засорять код приложения, если это можно вынести в HTML-шаблон:

<input type="hidden" value="0" name="cb">
<input type="checkbox" value="1" name="cb">

Всего ОДНА строка и не нужно корячиться и вспоминать, сделал ли ты очередную проверку на очередной твой появившийся чекбокс и спокойно ли можно написать

$db->query('UPDATE ... SET cb = "?"', $_POST['cb']);

не опасаясь, что в один прекрасный момент программа выдаст, что ей неизвестна переменная $_POST['cb'].
 

berkut

Новичок
$db->query('UPDATE ... SET cb = "?"', !empty($_POST['cb']));
и никакого корячества. а так тебе всегда приходится следить, что-бы у каждого чекбокса был дубль. нужно в форму добавить новый чекбокс - добавляеш 2 поля. нужно следить, что-бы хидден был обязательно раньше чекбокса. это тупость.
но пиши индусятину, тебя переубеждать более не смею
 

Black Raven

Новичок
Автор оригинала: triumvirat
ЗАЧЕМ засорять код приложения, если это можно вынести в HTML-шаблон:

<input type="hidden" value="0" name="cb">
<input type="checkbox" value="1" name="cb">
Потому что проверка значения переменной это бизнес-логика, и она должна зависеть от представления.
В "дублировании" isset нет ничего страшного, потому что каждая переменная требует своей проверки. Если у тебя много одинаковых проверок, состоящих не из одной строчки - пиши валидаторы.
 

KolyaA

Новичок
Вначале сделал так, как написал Беркут. Но потом оказалось, что в форме чекбокс может быть, а может его и не быть. При таком подходе скрипт не может это распознать, а надо. Пришлось переделать с хидден полями.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху