Вот как должен выглядеть ваш HTML:
<form id="aform" action="thisform.php" method="post">
<input type="checkbox" name="agree" value="yes" />
<input type="hidden" name="secret" value="shhh" />
<input type="submit" value="do it" />
</form>
С вышеизложенным, если вы делаете:
print_r($_POST);
вы получите массив, который имеет либо [согласие] => «да», либо ничего, в зависимости от того, отмечают ли они флажок, поэтому нет необходимости ставить скобки массива, если у вас нет тонны блоков.
Что касается части SQL, я предлагаю сделать столбец одним целочисленным типом, где он может иметь либо 0, либо 1,0 для непроверенного, 1 для проверенного. Для вставки вы бы сделали что-то вроде:
$check_value = ($_POST['agree'] == 'yes') ? 1 : 0;
$secret_stuff = $_POST['secret'];
mysqli_query("Insert INTO sales_table (secret_column, agree_column)
VALUES ('$secret_stuff', '$check_value')");
Это поставит ваш флажок в таблицу. Чтобы получить это, вы должны пойти с:
$results = mysqli_query("SELECT * from sales_table where secret_column = $secret_stuff")
while($row = mysqli_fetch_assoc($results)) {
$checked = ($row['agree_column'] == 1) ? "checked=\"checked\"" : "";
$secret_stuff = $row['secret_column];
}
?>
<form action=blah method=post id=blah>
<input type="checkbox" name="agree" value="yes" <?php echo $checked;?> />
</form>
Извините, потерял пар в конце. Но это охватывает переднюю часть и заднюю часть. Используйте переключатель 1/0 и просто установите некоторую переменную, такую как $ checked, в значение «флажок =« проверено »», если он равен 1.