【发布时间】:2017-08-27 19:07:54
【问题描述】:
我有一个带有多个复选框的表单,比如 A、B、C、D。有时我希望用户选择多个复选框,比如 B 和 C。当我这样做时,我只会看到最后一个值' C' 在数据库中。我将如何修改下面的代码以将 BC 提交到数据库?
表格
<form id="myform" method="post" action="check_trash.php">
<input type="text" name="afam" require />
A<input type="checkbox"name="get_value[]" value="A">
B<input type="checkbox" name="get_value[]" value="B">
C<input type="checkbox"name="get_value[]" value="C">
D<input type="checkbox" name="get_value[]" value="D">
<button id="subm" name="upload" style="color:#fff; padding:5px 66px" class="btn btn-success" ><b>Save</b></button>
</form>
jQuery
$("#subm").click( function() {
$.post( $("#myform").attr("action"), $("#myform").serialize(), function(info){ $("#result").html(info); } );
clearInput();
});
$("#myform").submit( function() {
return false;
});
function clearInput() {
$('#myform').each(function(){
this.reset();
});
}
PHP
if(!empty($_POST["get_value"])){
foreach($_POST["get_value"] as $checkbox){
}
$name = $_POST['myname'];
$insert_query = "insert into trash (checkbox,name) values ('$checkbox','$name')";
$run_query = mysqli_query($con, $insert_query);
if($run_query){
echo "Submitted successfully";
}
else {
echo "failed";
}
}
else{
echo "<script>alert('Please select at least one option!')</script>";
}
【问题讨论】:
-
你能为
$_POST["get_value"]做一个var_dump吗 -
你的意思是我应该用 var_dump 替换 $_POST["get_value"] 吗?
-
不,只需在你的 php 文件中添加
var_dump($_POST)到if(!empty($_POST["get_value"])){之前 -
我这样做了:var_dump($_POST); if(!empty($_POST["get_value"])){ 它仍然只提交了一个值并给出了这个错误 array(2) { ["afam"]=> string(6) "joseph" ["get_value"] => array(2) { [0]=> string(1) "A" [1]=> string(1) "B" } } 问题设置成功
-
将它添加到问题中,这样它可以更干净