Php 如何使用Ajax制作具有不同类型输入(复选框和单选按钮)的注册表

Php 如何使用Ajax制作具有不同类型输入(复选框和单选按钮)的注册表,php,html,ajax,Php,Html,Ajax,我想制作一个具有不同类型输入的注册表单,并使用Ajax$.post方法将数据插入数据库中。我的HTML代码: index.php <html> <head> <script type="text/javascript" src="jqueru.js"></script> <script> $(document).ready(function() $

我想制作一个具有不同类型输入的注册表单,并使用Ajax$.post方法将数据插入数据库中。我的HTML代码:

index.php

<html> 
    <head> 
        <script type="text/javascript" src="jqueru.js"></script> 
        <script> 
        $(document).ready(function() 
            $("#submit").click(function(){ 
                $.post( 
                    "phpindex.php",{ 
                        name:$('#ib1').val(), 
                        mygender:$('#ib2').val(), 
                        mygender:$('#ibi3').val(), 
                        lang1:$('#ib4').val(), 
                        lang2:$('#ib5').val() 
                    }, 
                    function(data){ 
                        $("#mydiv").html(data) 
                    } 
                ) 
            }); 
        )}; 
        </script> 
    </head> 
    <body> 
        <table> 
            name:-<input type=text  name="" id="id1"/><br/> 
            gender:-<input type=radio name="mygender" value="" id="ib2"/>male 
            <input  type=radio name="mygender" value="" id="ib3"/>female<br/> 
            lamguage:-<input  type=checbox name="lang1" value=""  id="ib4"/>hindi 
            <inut type=checkbx    name="lang2" value="" id="ib5"/>nglish 

            <input type="submit" name="submit" id="submit"> 
        </table> 
    </body> 
</html>
问题是只插入名称,其余的数据性别和语言没有插入到表中。规范此HTML的PHP文件如下所示:

phpndex.php

<?php 
mysql_connect("localhost","root",""); 
mysql_select_db("mydb"); 
$var1=$_POST['name']; 
$var2=$_POST['mygender']; 
$var3=$_POST['mygender']; 
$var4=$_POST['lang1']; 
$var5=$_POST['lang2']; 
$var6=$var4.$var5; 
$query="insert into mytable4 values('$var1','$var2','$var3','$var6')"; 
$result=mysql_query($query); 
if($result)
{echo"data is inserted";) 
else{echo"data is not inserted";} 
?>

我想你有很多问题

1语言复选框的类型属性应为双引号,类型拼写错误,且缺少值。它们应该是:

<input type="checkbox" name="lang1" value="hindi"  id="ib4"/>hindi
<input type="checkbox" name="lang2" value="english" id="ib5"/>english
并将PHP编辑为:

$var2=$_POST['mygender1']; 
$var3=$_POST['mygender2'];

虽然从技术上讲,您可以向服务器发送具有相同名称的多个表单变量,但您需要使用后缀为[]的输入名称(如mygender[])将它们声明给PHP,以便PHP将它们读入数组。在您的情况下,进行上述建议的编辑会更简单。

非常感谢您的宝贵帮助。。代码运行得很好,但问题是,我有一列用于性别,一列用于语言和,但根据上面的代码,我认为我必须创建两列来分别插入mygender1和mygender2。但是我想在单个列中插入mygender1或mygender2,哪一个将选择用户。如果我取第三个变量$var4=$var2.$var3;然后,两个性别都将插入到同一列中。您的原始代码将性别变量插入到两列中,所以我只是按照您已有的内容进行操作。听起来你已经知道如何根据需要修改它了。如果你喜欢我的答案,请注明接受。谢谢
$var2=$_POST['mygender1']; 
$var3=$_POST['mygender2'];