html - php $_post is not get when my form button is clicked

I have this form that reads data from my DB and displays it so the user can edit those values but when I click on the form button nothing happens.

Here is my code:

Everything starts when I called this function that gets the info to display my form

static function ctrEditUser()
{
    if (isset($_POST["userEdit"])) {

    $data = AdminControl::ctrGetUser($_POST["userEdit"]);

    $nombre     = $data['userNombre'];
    $aPaterno   = $data["userPaterno"];
    $aMaterno   = $data["userMaterno"];
    $movil      = $data["userMovil"];
    $token      = $data["token"];

    include $_SERVER["DOCUMENT_ROOT"] . "/view/pages/admin/admin.form.php";
    
    }
 }

This is my form

<div class="row">
    <form class="columnas" method="post" action="" id="form">
        <div class="columna1">
            <br>
            <div class="form-group">
                <label class="adminText" for="adminName">Nombre(s):</label>
                <input type="text" class="formcontrol" name="adminName" id="adminName" value="<?php echo $nombre ?>">
            </div>
            <br><br>
            <div class="form-group">
                <label class="adminText" for="adminPaterno">Apellido Paterno:</label>
                <input type="text" class="formcontrol" name="adminPaterno" id="adminPaterno" value="<?php echo $aPaterno ?>">
            </div>
        </div>
        <div class="columna2">
            <br>
            <div class="form-group">
                <label class="adminText" for="adminMaterno">Apellido Materno:</label>
                <input type="text" class="formcontrol" name="adminMaterno" id="adminMaterno" value="<?php echo $aMaterno ?>">
            </div>
            <br><br>
            <div class="form-group">
                <label class="adminText" for="adminMovil">Tel?�fono M??vil:</label>
                <input type="number" class="formcontrol" name="adminMovil" id="adminMovil" placeholder="DEBEN SER SOLO 10 DIGITOS" value="<?php echo $movil ?>">
                <span class="validity"></span>
            </div>
            <br><br>
            <div class="save-button row">
                <div class="form-group columna2">
                    <input type="submit" class="sysButton" style="margin-left: 300px;" name="saveButton" value="actualizar"></input>
                </div>
            </div>
        </div>
    </form>
</div>

As you can see is just a simple form.

Once I clicked the button I need to check the form and then save the new updated data

<?php

if (isset($_POST['saveButton'])) {

     ..... more code here

but when I clicked the button nothing at all happens, it never enters the IF statement, i really don??t know what is going wrong.

I already saw a lot of examples and I thonk everything is ok.

I appreciate any help.


This code came from a previous page where you can see the $token and $_POST["userEdit"]

    <form method="post" class="btn">
                                <input type="hidden" value="<?php echo $value["token"] ?>" name="markUserDeleted">
                                <button type="submit" id="buttonDelete" class="btn-danger"><i class="fas fa-trash-alt"></i></button>
                            </form>
                        <td>
                            <form method="post" class="btn">
                                <input type="hidden" value="<?php echo $value["token"] ?>" name="userEdit">
                                <button type="submit" id="buttonEdit"><i class="fas fa-edit"></i></button>
                            </form>
                        </td>
                    </tr>
                <?php endforeach ?>
            </tbody>
        </table> 
        <?php
            if (isset($_POST["markUserDeleted"])) {
                $response = AdminControl::ctrDeleteUser();
            } elseif (isset($_POST["userEdit"])) {
                $response = AdminControl::ctrEditUser();
            }
        ?>
    </div>
</body>

This code shows a table with db data, when you click on the blue button calls the function AdminControl::ctrEditUser();

enter image description here

Answer

Solution:

Problem is that your variable names are completely messed, if you print all the variables that are created in the form with the following code:

print_r($_POST);

Output is (after already inserting some data):

Array ( [adminName] => 123 [adminPaterno] => 159 [adminMaterno] => 3333 [adminMovil] => 54515456484 [saveButton] => actualizar )

You can see that there is nothing named userEdit, there is actually nothing from your named variables. Even the English/Portugal versions of variable names are messed up. Here is code that actually works (assuming the file is named test.php)

<!DOCTYPE html>
<html lang='en'>
    <head>
        <?php 
            print_r($_POST);
            if (isset($_POST["adminName"])) {
            

                $nombre     = $_POST["adminName"];
                $aPaterno   = $_POST["adminPaterno"];
                $aMaterno   = $_POST["adminMaterno"];
                $movil      = $_POST["adminMovil"];
                //$token      = $data["token"]; - no idea where you take this from
            
            }

         ?>
    </head>
        <div class="row">
            <form class="columnas" method="post" action="test.php" id="form">
                <div class="columna1">
                    <br>
                    <div class="form-group">
                        <label class="adminText" for="adminName">Nombre(s):</label>
                        <input type="text" class="formcontrol" name="adminName" id="adminName" value="<?php echo $nombre ?>">
                    </div>
                    <br><br>
                    <div class="form-group">
                        <label class="adminText" for="adminPaterno">Apellido Paterno:</label>
                        <input type="text" class="formcontrol" name="adminPaterno" id="adminPaterno" value="<?php echo $aPaterno ?>">
                    </div>
                </div>
                <div class="columna2">
                    <br>
                    <div class="form-group">
                        <label class="adminText" for="adminMaterno">Apellido Materno:</label>
                        <input type="text" class="formcontrol" name="adminMaterno" id="adminMaterno" value="<?php echo $aMaterno ?>">
                    </div>
                    <br><br>
                    <div class="form-group">
                        <label class="adminText" for="adminMovil">Tel?�fono M??vil:</label>
                        <input type="number" class="formcontrol" name="adminMovil" id="adminMovil" placeholder="DEBEN SER SOLO 10 DIGITOS" value="<?php echo $movil ?>">
                        <span class="validity"></span>
                    </div>
                    <br><br>
                    <div class="save-button row">
                        <div class="form-group columna2">
                            <input type="submit" class="sysButton" style="margin-left: 300px;" name="saveButton" value="actualizar"></input>
                        </div>
                    </div>
                </div>
            </form>
        </div>
    </html>

You might want to add more checks in the php part, it is up to you, I have checked just one of the variables.

Source