0
 <p>Special Meal Request:<br />
      <label>
      <input type="checkbox" name="dietaryveg" value="yes" />Vegetarian
      </label>
      <label><input type="checkbox" name="dietaryglut" value="yes" />Gluten-Free
      </label>

这就是我决定为我创建的表单使用的内容。我没有使用单选按钮,因为我只想要一个复选框;我没有给复选框赋予相同的名称,因为它们是数据库中的不同列,因为用户可能需要素食餐和无麸质餐。

但是,当我在 mysql 工作台中打开我的数据库时,未选中的框仍然显示在列中没有值。然后我尝试放置一个值为 no 的隐藏复选框,它是默认选中的,等等。但是两个值在数据库中都显示为 no。

现在,我意识到 php 只关心一个选中的框值,而不是一个未选中的框值——但我认为如果我的数据库中有一个默认值,那应该在那里,就像一个 NULL,不会它?

我真的不想有一个完全独立的表格,只是为了一排排的食物偏好——我敢肯定,我只是缺少一些东西。

我可以就处理这个问题的最佳方法获得一些建议吗?

4

2 回答 2

1

如果您正在执行类似 :(isset($_POST['dietarygut']))的操作并且未设置,则该值将被NULL上传到数据库。发布您的 PHP 脚本

于 2012-08-07T13:23:51.617 回答
0

你认为什么是你的默认值?对于 HTML 复选框,该value属性并不表示默认值,而是表示复选框被选中时将发送的值。如果检查了一个不是/无,则不会发送值“是”。

就像 mlishn 在他的回答中所说的那样,您需要以编程方式检查是否设置了一个/两个框,如果是,则插入这些值。

于 2012-08-07T13:28:27.460 回答