我有一个数据库patient,它有3-4个表,每个表大约有8个属性。我有一个表的医疗历史,其中有属性附加信息...下面我有5个复选框...除了chekbox值之外,所有输入的值都会被接受.....请帮助
发布于 2010-04-13 00:26:26
你是如何构建你的领域的?它们是否都具有相同的name属性?它们有名称属性吗?是否有value属性?
<input type="checkbox" name="testfield" value="somevalue" />
<input type="checkbox" name="testfield" value="othervalue" />如果您正在构造这样的复选框,那么PHP将默认忽略除最后提交的值之外的所有值(它用新值覆盖以前的值),如下所示:
$_POST = array(
'testfield' => 'othervalue'
)对于这种类型的构造,您必须通过向name属性添加[]来强制PHP进入“数组模式”:
<input type="checkbox" name="testfield[]" value="somevalue" />
<input type="checkbox" name="testfield[]" value="othervalue" />这将允许以相同的名称提交多个值,并且您将在_GET/_POST数组中得到一个数组:
$_POST = array(
'testfield' => array('somevalue', 'othervalue')
)当然,只有实际选中的复选框才会随表单数据一起发送。
通过在脚本的表单处理部分放置一个var_dump($_POST); (或GET或REQUEST)来检查表单是否正确构造,并查看是否确实发送了复选框值。也许你在寻找错误的name属性,标签在表单中可能是错误的,等等。
https://stackoverflow.com/questions/2621326
复制相似问题