简体   繁体   中英

Multiple checkbox values in php

I have the following code

<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 ;

            }

it should return the values user have selected. But it gives only 'on' as output.

Set the name in the form to check_list[] and you will be able to access all the checkboxes as an array($_POST['check_list'][]).

An example code:

    <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; 
      }
    }
    ?>

your value is wrong,you forgot =

 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>

It must be value="type1" not value"type1" . Try this

     <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 ;

            }

?>

try this

<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 ;

  }
}

First you forgot the = after value

Remodifying your script becomes this

<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 ;

            }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM