Коллеги добрый день. Прошу помочь разобраться... видимо туплю, но не могу найти ошибку. Код (Text): <?php if (isset($_POST['button1'])) { echo "<p>Нажата кнопка 5</p>"; } elseif (isset($_POST['button2'])) { echo "<p>Нажата кнопка 5 *value</p>"; } elseif ($_POST['button1'] == 'button4') { echo "<p>Value = button5</p>"; } elseif ($POST['button2'] == 'Кнопка 4') { echo "<p>Кнопка 4</p>"; } else { echo "<p>Нажмите одну из кнопок!!!</p>"; } ?> <form action ="button_test.php" method="POST"> <button type="button" name="button1" value="button5">Кнопка 5</button> <br> <button type="button" name="button2" value="button4">Кнопка 4</button> </form> при нажатии на кнопки никакой реакции. А хочется
ничего не отправляет на сервер, вот и вся ошибка. А submit отправляют. Чтобы несколько сабмитов красиво разрулить, нужно, чтобы у них всех было одинаковое имя, но разные value. Тогда нажатие одного сабмита будет отличаться от другого, и их можно будет обработать в switch.
я из-за чего поставил button.. у меня была проблема что клавишой enter нажимались не те кнопки которые нужны...
Ну тогда два пути: 1) Через JS ловить нажатие ENTER и подавлять; 2) Оставить button, но по нажатию на них дергать JS, инициирующий отправку формы. Второе разумнее.
Переделал код, результат тот же, никакой реакции Код (Text): <?php if ($_POST['button1'] == 'button5') { echo "<p>Нажата кнопка 5</p>"; } else { echo "<p>Нажмите одну из кнопок!!!</p>"; } ?> <form action="button_test.php" method="POST"> <button type="submit" name="button1" value="button5">Кнопка 5</button> <br> <button type="submit" name="button2" value="button4">Кнопка 4</button> </form> Добавлено спустя 6 минут 26 секунд: нет обманул, второй код работает