2014-09-18 6 views
1

Меня пытаются отправить свой флажок значение в свою базу данных, если это проверяется значение «Да» еще, если не проверяется значение «Нет»Checkbox всегда посылают 0 в базу данных

Я стараюсь это

<input type="checkbox" name="hidesCompany" id="hidesCompany" class="checkBoxStyle" value="Yes"> 

и это РНР размещать

$hidesCompany = $_POST['hidesCompany']; 
    if($hidesCompany !='Yes'){ 
     $hidesCompany='No'; 
    } 

, но проблема здесь всегда идут в базу данных как «0» не «да» или «нет»

+1

какой тип столбца он в базе данных? Вероятно, стоит добавить, какой механизм базы данных вы используете в качестве тега. Вы также должны использовать скрытый ввод с тем же именем (перед тегом флажка), чтобы, когда он не проверен, значение по-прежнему отправляется через форму, тогда вам не нужно беспокоиться об этом 'if' в вашем php-скрипте. – martincarlin87

+0

Спасибо @ martincarlin87 Да, это была моя ошибка, я забыл о том, что тип базы данных был «int», поскольку я не добавлял скрытый ввод с тем же именем (перед тегом флажка), но он отлично работает, есть ли какая-либо проблема для оставьте это так. –

+1

Нет, никаких проблем с любым подходом, просто сводится к личным предпочтениям, я также добавлю ответ для будущей справки. – martincarlin87

ответ

0

Звучит как hidesCompany столбец в таблице базы данных имеет какой-то INT типа, а не быть TEXT или VARCHAR т.д.

1

Вы должны попробовать это

$hidesCompany = ''; 
if(isset($_POST['hidesCompany']) && !empty($_POST['hidesCompany'])) 
{ 
    $hidesCompany = $_POST['hidesCompany']; 

} 
else 
{ 
    $hidesCompany='No'; 
} 
+0

, вы должны проверить свой флажок или нет. – user2474272

Смежные вопросы