Могу ли я получить имя кнопки отправки в другой форме?

У меня есть форма, которая имеет 3 кнопки отправки. Их имена генерируются и назначаются в цикле. Теперь, если я использую метод post, как можно получить доступ к названию кнопки отправки, которая была нажата.

Ниже приведен пример моего кода:

**one.php** <form name="one" method="post" action="two.php"> <?php while($i=1;$i<=3;$i=$+1) { ?> <button type="submit" name="<?php echo $i ?>" value="<?php echo $i ?>" > </button> <?php } ?> </form> **two.php** { code??????? } 

Может быть, я могу использовать атрибут onsubmit для тега кнопки в one.php, но я не могу получить результат. Какие-либо предложения?

Вы можете просто проверить $_POST если есть запись с именем каждой из трех кнопок:

 for ($i=1 ; $i<=3 ; $i++) { if (isset($_POST[$i])) { // here, you are on the clicked button } } 

Обратите внимание, что я предлагаю вам дать вашим именам лучшие имена (которые не начинаются с числа), что означает создание вашей формы следующим образом:

 <?php for ($i=1 ; $i<=3 ; $i++) { ?> <button type="submit" name="button_<?php echo $i ?>" value="<?php echo $i ?>" > </button> <?php } ?> 

И, по представлению формы, используя что-то вроде этого:

 for ($i=1 ; $i<=3 ; $i++) { if (isset($_POST['button_' . $i])) { // here, you are on the clicked button } } 

BTW: синтаксис вашего цикла while неверен – кажется, вы перепутали while и for 😉

Сгенерировать другой элемент ввода

 <input type="hidden" name="buttonId" value="<?php echo $i ?>" /> 

И затем получите свой идентификатор с $_REQUEST['buttonId']