php复选框数组提交问题


php checkbox array submit issue

我的复选框数组有问题

这是我的代码

<?php
include('config.php');
 if(isset($_POST['submit']))
 {
    for($x = 0;$x <= 5;$x++)
    {
        if(isset($_POST['check'][$x]))
        {
            echo "THERE IS A VALUE<br>";
        }
        else{
            echo "EMPTY<br>";
        }
    }
}

?>
<html>
<head>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script>
    $(document).ready(function(){
        $("#add-file-field").click(function(){
            $("#text").append("<div class='added-field'><input      type='checkbox' name='check[]' />Never Expired</div>");
        });
    });
</script>
</head>
<body>
<form enctype="multipart/form-data" action="" method="POST">
    <div id="text">
        <input type="checkbox" name="check[]"  />Never Expired<br>
    </div>
    <input type="button" id="add-file-field" name="add" value="Add input field" />
    <input type="submit" value="Upload File" name="submit" id="submit" />
</form>
</body>
</html>

在这里我做了一个例子,我创建了5个复选框

Checkbox1Checkbox2Checkbox3Checkbox4Checkbox5

当我检查复选框3 时

输出结果为

THERE IS A VALUEEMPTYEMPTYEMPTYEMPTY

我希望结果像这个

EMPTYEMPTYTHERE IS A VALUEEMPTYEMPTY

怎么做成那样?请帮我

您需要将密钥添加到数组

<input type="checkbox" name="check[0]"  />

var num = 1;
$("#add-file-field").click(function(){
    $("#text").append("<div class='added-field'><input type='checkbox' name='check["+num+"]' />Never Expired</div>");
    num++;
});

浏览器不会将未选中的复选框发送到服务器,因此不在$_POST['check']数组中。这就是为什么THERE IS A VALUE总是排在第一位。

您可以在以后的指南中看到这一点。。。

http://www.html-form-guide.com/php-form/php-form-checkbox.html

你的问题是,你只需要检查一下这是设置好的。你必须检查它们的值。。

修复你的html表单像这个

    <input type="checkbox" name="check" value="1"> checkbox1</input>
   "----do the same---------------------------"2""---------2------->"//do this until you get your five checkbox

然后在php 上

  <?php
    include('config.php');
    if(isset($_POST['submit']))
    {
      for($x = 0;$x <= 5;$x++)
       {
         if($_POST['check']==strval($x))
          {
            echo "THERE IS A VALUE<br>";
          }
         else{
            echo "EMPTY<br>";
          }
       }
    }
 ?>

希望它能起作用

PS。如果有人看到错误,请编辑它。

希望这是工作添加

<input type="checkbox" name="check[0]"  />

那么编辑此

var x = 1;
$("#add-file-field").click(function(){
$("#text").append("<div class='added-field'><input type='checkbox' name='check["+x+"]'     />Never Expired</div>");
x++;
});

然后简单的php代码

 if(isset($_POST['submit']))
{
   // $x = cout($_POST['check']);
    for($x = 0;$x <= 5;$x++)
    {
        if(strlen($_POST['check'][$x])>1)
        {
            echo "THERE IS A VALUE<br>";
        }
        else{
            echo "EMPTY<br>";
        }
    }
}

感谢