Php 测试如果至少选中了两个复选框,则将值插入数据库

Php 测试如果至少选中了两个复选框,则将值插入数据库,php,javascript,html,mysql,wampserver,Php,Javascript,Html,Mysql,Wampserver,我正在使用html、php、javascript、mysql和wampserver 我有3个复选框,用户最多应该选中两个,然后我将这两个选项插入我的数据库 我声明了3个具有不同名称属性的复选框(不同=>因为我在php代码中声明了3个变量) 但是当我想使用javascript插入验证时(验证最多只选中2个复选框) 我发现我应该用相同的属性名声明3个复选框 我的问题是: 要将用户选择插入我的数据库,我应该声明3个变量,因此3个不同的名称属性 为了验证复选框:2至少被选中,我必须使用相同的名称属性 还

我正在使用html、php、javascript、mysql和wampserver

我有3个复选框,用户最多应该选中两个,然后我将这两个选项插入我的数据库

我声明了3个具有不同名称属性的复选框(不同=>因为我在php代码中声明了3个变量)

但是当我想使用javascript插入验证时(验证最多只选中2个复选框) 我发现我应该用相同的属性名声明3个复选框

我的问题是:

要将用户选择插入我的数据库,我应该声明3个变量,因此3个不同的名称属性

为了验证复选框:2至少被选中,我必须使用相同的名称属性

还有其他我不知道的解决方案吗

HTML代码:

<input type="checkbox"  value="workshop1Day1" id="workshop" name="workshop1Day1" />Workshop I
<input type="checkbox" value="workshop2Day1"  name="workshop2Day1" />Workshop II

<input type="checkbox" value="workshop3Day1"  name="workshop3Day1" />Workshop III
我找到的java脚本(对name属性使用相同的值)


谢谢

这可能会对您有所帮助:

<script>
function checkifclicked()
{

    //alert($('input[name=cb]').val());
    var checkboxs=document.getElementsByName("cb");
    var okay=false;
    var count = 0;
    for(var i=0,l=checkboxs.length;i<l;i++)
    {
        if(checkboxs[i].checked)
        {

        count++;
        }
    }
    if(count > 1){
     okay=true;    
    }
    if(!okay){

        alert("Please check at least two checkbox");
        return false;
    }

}
</script>


<form name="send_email" id="send_email" action="send_email.php" onSubmit="return checkifclicked()" method="post">

<div id="checkbox">    
<input type="checkbox" id="1" name="cb"/><br/>
<input type="checkbox" id="2" name="cb"/><br/>
<input type="checkbox" id="3" name="cb"/><br/>
<input type="submit" value="Submit"/>
</div>


</form>

函数checkifclicked()
{
//警报($('input[name=cb]').val();
var checkboxs=document.getElementsByName(“cb”);
var-ok=false;
var计数=0;
对于(变量i=0,l=checkboxs.length;i 1){
OK=正确;
}
如果(!好的){
警告(“请至少勾选两个复选框”);
返回false;
}
}




这可能对您有所帮助:

<script>
function checkifclicked()
{

    //alert($('input[name=cb]').val());
    var checkboxs=document.getElementsByName("cb");
    var okay=false;
    var count = 0;
    for(var i=0,l=checkboxs.length;i<l;i++)
    {
        if(checkboxs[i].checked)
        {

        count++;
        }
    }
    if(count > 1){
     okay=true;    
    }
    if(!okay){

        alert("Please check at least two checkbox");
        return false;
    }

}
</script>


<form name="send_email" id="send_email" action="send_email.php" onSubmit="return checkifclicked()" method="post">

<div id="checkbox">    
<input type="checkbox" id="1" name="cb"/><br/>
<input type="checkbox" id="2" name="cb"/><br/>
<input type="checkbox" id="3" name="cb"/><br/>
<input type="submit" value="Submit"/>
</div>


</form>

函数checkifclicked()
{
//警报($('input[name=cb]').val();
var checkboxs=document.getElementsByName(“cb”);
var-ok=false;
var计数=0;
对于(变量i=0,l=checkboxs.length;i 1){
OK=正确;
}
如果(!好的){
警告(“请至少勾选两个复选框”);
返回false;
}
}




你的问题是什么?如果我理解得很好,你可以通过isset()检查它。如果workshop2Day1存在,则表示此复选框已被选中。@hjpotter92我已更新我的帖子你的问题是什么?如果我理解得很好,你可以通过isset()检查它如果workshop2Day1存在,则表示此复选框已被选中。@hjpotter92我已更新我的POST您对3个复选框使用了相同的名称属性!因此,请告诉我如何将这两个选项插入到数据库中?但要恢复php代码中的变量,我们使用它的名称,例如:在php中$lastname=$\u POST['lastname'];您在3个复选框中使用了相同的name属性!因此,您能告诉我如何将这两个选项插入数据库吗?但要恢复php代码中的变量,我们使用它的名称,例如:在php$lastname=$\u POST['lastname'];