Как взять значений нажатой кнопки из формы

Всем привет, у меня есть такая форма

<div class="container shadow p-5">
  <h1 class="text-center">Текущий меню main</h1>
  <p>1 - Register your profile</p>
  <p>2 - Management</p>
  <div class="d-flex justify-content-center">
    <form method="POST">
      <div class=""><input type="submit" value="1" class="btn btn-primary m-1" name="val1"><input type="submit" value="2" class="btn btn-primary m-1" name="val2"><input type="submit" value="3" class="btn btn-primary m-1" name="val3"></div>
      <div class=""><input type="submit" value="4" class="btn btn-primary m-1" name="val4"><input type="submit" value="5" class="btn btn-primary m-1" name="val5"><input type="submit" value="6" class="btn btn-primary m-1" name="val6"></div>
      <div class=""><input type="submit" value="7" class="btn btn-primary m-1" name="val7"><input type="submit" value="8" class="btn btn-primary m-1" name="val8"><input type="submit" value="9" class="btn btn-primary m-1" name="val9"></div>
      <div class="d-flex w-100"><input type="submit" value="0" class="btn btn-primary w-100 m-1" name="val0"></div>
    </form>
  </div>
</div>

Мне надо что-бы при нажатия на одну из кнопок параметр input сохранил значение заданной кнопки

if(isset($_POST["val1"])){
        $input = $_POST['val1'];
        //$input = 1;
    }
    if(isset($_POST["val2"])){
        $input = $_POST['val2'];
        //$input = 2;
    }
    if(isset($_POST["val3"])){
        $input = $_POST['val3'];
        //$input = 3;
    }
    if(isset($_POST["val4"])){
        $input = $_POST['val4'];
        //$input = 4;
    }
    if(isset($_POST["val5"])){
        $input = $_POST['val5'];
        //$input = 5;
    }
    if(isset($_POST["val6"])){
        $input = $_POST['val6'];
        //$input = 6;
    }
    if(isset($_POST["val7"])){
        $input = $_POST['val7'];
        //$input = 7;
    }
    if(isset($_POST["val8"])){
        $input = $_POST['val8'];
        //$input = 8;
    }
    if(isset($_POST["val9"])){
        $input = $_POST['val9'];
        //$input = 9;
    }
    if(isset($_POST["val0"])){
        $input = $_POST['val0'];
        //$input = 0;
    }
    else{
        $input = 1;
    }

То что закоментировано я уже использовал и резулбтат тотжу, параметр input всегда имеет значение 1


Ответы (1 шт):

Автор решения: Jarry Roxwell

Submit, отправляет форму и не передает никаких значений.

UPD:

Submit, отправляет форму и не передает никаких значений.

Еща как передает. Передает из всех submitов тот который был вызван


Можно сделать иначе:

<div class="container shadow p-5">
  <h1 class="text-center">Текущий меню main</h1>
  <p>1 - Register your profile</p>
  <p>2 - Management</p>
  <div class="d-flex justify-content-center">
    <form method="POST">
      <input type="hidden" name="press_button" value="" id="press_button">
      <div class="">
        <button type="button" class="btn btn-primary m-1" onclick="send.call(this, 1)">1</button>
        <button type="button" class="btn btn-primary m-1" onclick="send.call(this, 2)">2</button>
        <button type="button" class="btn btn-primary m-1" onclick="send.call(this, 3)">3</button>
      </div>
      <div class="">
        <button type="button" class="btn btn-primary m-1" onclick="send.call(this, 4)">4</button>
        <button type="button" class="btn btn-primary m-1" onclick="send.call(this, 5)">5</button>
        <button type="button" class="btn btn-primary m-1" onclick="send.call(this, 6)">6</button>
      </div>
      <div class="">
        <button type="button" class="btn btn-primary m-1" onclick="send.call(this, 7)">7</button>
        <button type="button" class="btn btn-primary m-1" onclick="send.call(this, 8)">8</button>
        <button type="button" class="btn btn-primary m-1" onclick="send.call(this, 9)">9</button>
      </div>
      <div class="d-flex w-100">
        <button type="button" class="btn btn-primary w-100 m-1" name="val0" onclick="send.call(this, 0)">0</button>
      </div>
      <script>
        function send(press_value) {
          this.form['press_button'].value = press_value;
          this.form.submit();
        }
      </script>
    </form>
  </div>
</div>

$input = null;
if(isset($_POST['press_button']) && !empty($_POST['press_button']))
  $input = (int)$_POST['press_button'];
→ Ссылка