Open In App

How to Get $_POST from multiple check-boxes ?

Last Updated : 31 Oct, 2019
Improve
Improve
Like Article
Like
Save
Share
Report

$_POST is an array of variable names. The program given below illustrates how to write HTML structure for multiple valued checkbox and to get the values of multiple valued checkbox using $_POST in PHP.

Note: The name attribute of checkboxes must be the same name and must be initialized with an array. It can be done by using [] at the end of the name attribute of the checkbox.

Example:

  • Code: The page (index.html) containing a form having name, email, contact and skills as fields and method post. Please note that for skills, every checkbox input has skills[] in name attribute.




    <!DOCTYPE html>
    <html>
      
    <head>
        <title>
            How to Get $_POST from
            multiple checkboxes?
        </title>
    </head>
      
    <body>
        <form action="process.php" method="post">
            <div>
                <label>Name :</label>
                <input type="text" name="name">
            </div>
              
            <div>
                <label>Email :</label>
                <input type="email" name="email">
            </div>
              
            <div>
                <label>Skills :</label>
                <input type="checkbox" name="skills[]"
                            value="Java"> Java 
                  
                <input type="checkbox" name="skills[]" 
                            value="Php"> PHP
                  
                <input type="checkbox" name="skills[]"
                            value="Python"> Python
                  
                <input type="checkbox" name="skills[]"
                            value="JavaScript"> JavaScript
            </div>
              
            <div>
                <label>Contact :</label>
                <input type="number" name="contact">
            </div>
              
            <div>
                <button type="submit">Submit</button>
            </div>
        </form>
    </body>
      
    </html>

    
    

  • Code: The page (process.php) where we are processing the data sended by user.




    <?php
      
    // Get the value of name field
    // from $_POST array
    $name = $_POST['name'];
      
    // Get the value of contact field
    // from $_POST array
    $contact = $_POST['contact'];
      
    // Get the value of email field
    // from $_POST array
    $email = $_POST['email'];
      
    // Check if at least one skill has been checked, if
    // checked, then assign the array returned by
    // $_POST['skills'] to $skills variable otherwise
    // assign an empty array
    $skills = (isset($_POST['skills'])) ? $_POST['skills'] : array();
      
    ?>
      
    <h2>Confirmation</h2>
    <p><strong>Name :</strong> <?php echo $name; ?></p>
    <p><strong>Email :</strong> <?php echo $email; ?></p>
    <p><strong>Contact :</strong> <?php echo $contact; ?></p>
    <p><strong>Skills :</strong> 
    <?php 
      
    // Check if $skills array has at least one
    // element, if so, then iterate through 
    // each element and echo its value, otherwise
    // echo that no skill is selected
    if (count($skills) > 0) {
        foreach ($skills as $skill) { 
            echo $skill .' '
        
    } else {
        echo "No skill has been selected";
    }
    ?>
    </p>

    
    

Output:

  • Before submission of form i.e. “index.html”
    Before Submission
  • After submission of form i.e. “process.php”
    After Submission


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads