欢迎, 我有一些形式的问题,并将数据插入mysql。 我的表格有一个输入:
<inpu type="checkbox" name="check">
这是我将此表单数据插入mysql的代码。
if(isset($_POST['check'])) { //things to insert }
当我选择一个复选框代码插入每条记录时,当我选择所有复选框时,它也会插入每条记录(所有数据)。但是当我没有选中一个复选框时,插入是空的(好的)。 这个复选框有什么问题?
答案 0 :(得分:0)
只有选中后才会通过POST发送复选框。如果未选中它们,则不会发送它们。如果选中,你可能会期望价值'开',如果未选中则价值'关',但是没有!,如果选中,你将只收到'开',否则没有。因此,如果你收到复选框(用你的帖子集1中的isset($ _ POST ['checkbox_name']')变量检查它,真实,'Y'或你在数据库中用于布尔值的任何东西。如果你没有收到它! isset()然后设置0,false或'N'。相同的情况是禁用INPUT元素。它们的值不会被发送到服务器。
<form action"processor.php" method="post">
<input name="data[]"><input type="checkbox" name="check[]">
<input name="data[]"><input type="checkbox" name="check[]">
<input name="data[]"><input type="checkbox" name="check[]">
<input type="submit" value="Save">
</form>
在您的processor.php文件中:
$data=$_POST['data']; //array received
$checks=$_POST['check']; //array received (checked only)
foreach($checks as $key=>$check) //loop through all checks that are sent
{
$value=$data[$key]; //do whatever you want with corresponding data
}