私は私の質問に対する解決策を思いついたかもしれません...
フォームの例を次に示します。
<form name="vehicle-vinNr" method="post" action="?<?=$_SERVER['QUERY_STRING']?>">
<input type="hidden" name="hello" value="world" readonly>
<input type="text" name="element">
<input type="submit" name="vehicle-vinNr" value="send">
</form>
まず、要素名を抽出して新しい配列に配置する必要があります。
<?php
if ($_POST){
foreach($_POST as $_FORM_ELEMENT_name => $_FORM_ELEMENT_value){
$_FORM_ELEMENT_names[] = $_FORM_ELEMENT_name;
}
}
?>
この場合、配列には以下が含まれます。
hello
element
vehicle-vinNr
送信ボタンが常にフォームの最後の要素である場合、これは機能します。
$_FORM_name = end($_FORM_ELEMENT_names); // vehicle-vinNr
ただし、送信ボタンが最後の要素ではない場合があるため、変更を加える必要がありました。
送信ボタンの名前を常にsubmit_
-たとえば、または/submit__vehicle-vinNr
のようなさまざまなアクションの複数の送信ボタンで始める場合、これを行うことができます:submit_update__vehicle-vinNr
submit_delete_vehicle-vinNr
if ($_POST){
foreach($_POST as $_FORM_ELEMENT_name => $_FORM_ELEMENT_value){
if(strstr($_FORM_ELEMENT_name,'submit_')){
$_FORM_ELEMENT_submit_name = explode('__',$_FORM_ELEMENT_name);
$_FORM_name = $_FORM_ELEMENT_submit_name[1]; // vehicle-vinNr
}
}
}
これが私が思いついた解決策です - 何か考えはありますか?