php中的多个复选框值

时间:2014-08-26 10:00:58

标签: php

我有以下代码

<form id="myForm" action="upload.php" method="post" enctype="multipart/form-data">

     <label for="name">Name</label><br>
     <input type="text" name="name"></input><br>
     <input type="file" size="60" name="myfile"><br>
     Type 1:<input type="checkbox" name="product[]" value"type1" /><br>
     Type 2:<input type="checkbox" name="product[]" value"type2" /><br>
     Type 3:<input type="checkbox" name="product[]" value"type3" /><br>
     <input type="submit" value="Submit">
 </form>

foreach($_POST["product"] as $value)
            {
                echo $value ;

            }

它应该返回用户选择的值。但它只给出'on'作为输出。

5 个答案:

答案 0 :(得分:2)

将表单中的名称设置为check_list [],然后您就可以将所有复选框作为数组访问($ _ POST [&#39; check_list&#39;] [])。

示例代码:

    <form id="myForm" action="upload.php" method="post" enctype="multipart/form-data">
    <input type="checkbox" name="product[]" value="type 1">
    <input type="checkbox" name="product[]" value="type 2">
    <input type="checkbox" name="product[]" value="type 3">
    <input type="checkbox" name="product[]" value="type 4">
    <input type="checkbox" name="product[]" value="type 5">
    <input type="submit" />
    </form>
    <?php
    if(!empty($_POST['product'])) {
      foreach($_POST['product'] as $check) 
      {
            echo $check; 
      }
    }
    ?>

答案 1 :(得分:0)

你的价值是错的,你忘了=

 Type 1:<input type="checkbox" name="product[]"  value="type1" /><br>
 Type 2:<input type="checkbox" name="product[]" value="type2" /><br>
 Type 3:<input type="checkbox" name="product[]" value="type3" /><br>

答案 2 :(得分:0)

必须value="type1"而不是value"type1"。 试试这个

     <label for="name">Name</label><br>
     <input type="text" name="name"></input><br>
     <input type="file" size="60" name="myfile"><br>
     Type 1:<input type="checkbox" name="product[]" value="type1" /><br>
     Type 2:<input type="checkbox" name="product[]" value="type2" /><br>
     Type 3:<input type="checkbox" name="product[]" value="type3" /><br>
     <input type="submit" value="Submit">
 </form>
<?php

foreach($_POST["product"] as $value)
            {
                echo $value ;

            }

&GT;

答案 3 :(得分:0)

试试这个

<form id="myForm" action="" method="post" enctype="multipart/form-data">

     <label for="name">Name</label><br>
     <input type="text" name="name"></input><br>
     <input type="file" size="60" name="myfile"><br>
     Type 1:<input type="checkbox" name="product[]" value="type1" /><br>
     Type 2:<input type="checkbox" name="product[]" value="type2" /><br>
     Type 3:<input type="checkbox" name="product[]" value="type3" /><br>
     <input type="submit" value="Submit">
 </form>




<?php

if (isset($_POST)) {
  foreach($_POST["product"] as $value)
            {
                echo $value ;

  }
}

答案 4 :(得分:0)

首先你忘记了= after value

重新修改您的脚本

<form id="myForm" action="upload.php" method="post" enctype="multipart/form-data">

     <label for="name">Name</label><br>
     <input type="text" name="name"></input><br>
     <input type="file" size="60" name="myfile"><br>
     Type 1:<input type="checkbox" name="product[]" value="type1" /><br>
     Type 2:<input type="checkbox" name="product[]" value="type2" /><br>
     Type 3:<input type="checkbox" name="product[]" value="type3" /><br>
     <input type="submit" value="Submit">
 </form>


$check = $_POST["product"]

foreach($check as $value)
            {
                echo $value ;

            }