用于将新项目添加到数据库和编辑现有项目的表单是相同的表单。将“模式”传递到表单中,以告知它是添加新内容还是加载现有项目进行编辑。所以....
<input type="checkbox" name="fflreq" id="fflreq" value="<?=$row['FFLr']?>" <?php if ($row['FFLr']=="Yes") {echo 'checked';} ?>>
添加新项目时, $row['FFLr'] 不存在,因此该值当然是 BLANK 或 NULL 或者如果我最初不选中复选框,我猜是 0 - 表单处理器将其转换为“否”并将其插入数据库。
现在这是我的问题 - 当我回到一个项目并且表单处于编辑模式时,此复选框中的 VALUE 现在是“否” - 当我单击复选框以更改其状态时,我看到复选框变为“已选中” ' 但价值没有改变。换句话说,点击/检查状态没有将 $_POST['fflreq'] 的值设置为 YES 或 1。
我认为,选中或取消选中表单复选框会将 value='' 属性中当前的任何内容替换为 1 或 0 以表示是/否开/关或其他。为什么从数据库中提取的值在表单提交时不会改变?