1

I have a table:

This table returns records from BD. A user can add any person from an entry to the group he created.

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
         <table class="table table-dark table-bordered">
            <thead>
            <tr >
            <div class="row">
                <th >Add</th>
                <th >id</th>
                <th >first_name</th>
                <th >last_name</th>
                <th >Groups</th>
            </div>
            </tr>
            </thead>
            <tbody>
                <?php foreach($my_subordinates as $my_subordinate):?>
                    <tr>
                        <td ><input type="checkbox" name="grouped[]" value="<?php $my_subordinate['id']?>">to group</td>
                        <td ><?php echo $my_subordinate['id'] ?></td>
                        <td ><?php echo $my_subordinate['first_name'] ?></td>
                        <td ><?php echo $my_subordinate['last_name'] ?></td>
                        <td ><?php  ?></td>
                    </tr>
                  <?php endforeach;?>
            </tbody>
        </table>
            <div class="form-group row">
               <label for="name" class="col-4 col-form-label">Group name</label> 
               <div class="col-4">
                  <input id="group_name" name="group_name" pattern="{2,255}" value="" class="form-control here" type="text" autofocus required>
               </div>
            </div>
            <div class="form-group row">
                <div class="offset-4 col-8">
                    <button name="create_group" type="submit" class="btn btn-primary">Create</button>
                </div>
            </div>
         </form>

The value in checkbox gets users id and when user selects some persons, ids must be passed to $ _POST. Here:

if(isset($_POST['create_group']))
{
   b_dump($_POST);
}

I check $ _POST, when the button 'create_group'is pressed. But the array is empty:

here I chose all three employees

Why is it like this? If you know simpler ways to add people to groups, I would be interested to know)

7
  • could you add the whole form? Commented May 5, 2019 at 6:28
  • @RamRaider, one moment Commented May 5, 2019 at 6:30
  • 5
    @VladislavFinder You have missed to echo the value in checkbox. Commented May 5, 2019 at 6:35
  • 1
    You have some invalid markup in that html table - <div class="row"> cannot be at that location. Better would be <tr class='row'> if anything. That does not explain the empty array however - but there is a spurious <td ><?php ?></td> ~ an empty cell. That said, <?php $my_subordinate['id']?> should be <?php echo $my_subordinate['id']?> Commented May 5, 2019 at 6:38
  • @DeepakSingh, it helped me, thanks! Commented May 5, 2019 at 6:39

2 Answers 2

3

You have forgotten to echo it.

Do it like this:

<td ><input type="checkbox" name="grouped[]" value="<?php echo $my_subordinate['id']?>">to group</td>
Sign up to request clarification or add additional context in comments.

Comments

1

You forgot to echo the value.

value="<?php $my_subordinate['id']?>">

has to be

value="<?php  echo $my_subordinate['id']?>">

or

value="<?=  $my_subordinate['id']?>">

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.