我有一个HTML表单 - 使用PHP,我将表单的数据发送到MySQL数据库.表单上的问题的一些答案有复选框.显然,用户不必勾选一个问题的所有复选框.我还想让其他问题(包括无线电组)可选.
但是,如果我提交带有空框,无线电组等的表单,我会收到一个很长的"未定义索引"错误消息列表.
我怎么能绕过这个?谢谢.
我不时使用这种技术:
注意:这被解释不同在不同的服务器端语言,所以测试,必要时调整.感谢SimonSimCity的提示.
未提供未选中的广播或复选框元素,因为它们不被视为成功.所以你必须检查它们是否是使用isset
或empty
函数发送的.
if (isset($_POST['checkbox'])) { // checkbox has been checked }
未检查的复选框不会在POST数据中发送.你应该检查它是否为空:
if (empty($_POST['myCheckbox'])) .... else ....
在PHP empty()
和isset()
不生成通知.
这是一个使用javascript的简单解决方法:
在提交包含复选框的表单之前,将"关闭"设置为0并检查它们以确保它们提交.例如,这适用于复选框数组.
/////示例//////
给出一个id ="formId"的表单