Php 如何使用Ajax制作具有不同类型输入(复选框和单选按钮)的注册表
我想制作一个具有不同类型输入的注册表单,并使用Ajax$.post方法将数据插入数据库中。我的HTML代码: index.phpPhp 如何使用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() $
<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'];