如何通过 $_SERVER["PHP_SELF"] 从不同的提交按钮设置不同的操作?

How do I set different action by $_SERVER["PHP_SELF"] from different submit button?

考虑到我在文件中有两种形式:

<form method="post" name=frm1 action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<input type=submit>
</form>

<form method="post" name=frm2 action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<input type=submit>
</form>

以及同一文件中的两个 PHP 脚本:

<?php
//To be executed by submitting form:frm1
>?

<?php
//To be executed by submitting form:frm2
>?

现在如何通过相应表单 (frm1/frm2) 的特定提交按钮设置特定 PHP 脚本的执行?

我不知道用$_SERVER["PHP_SELF"]提前做什么。


另一个(备选)案例 是:假设我在一个(单个)表单中有两个提交按钮:

<form method="post" name=frm action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<input type=button value=submit1 onclick=submit()>
<input type=button value=submit2 onclick=submit()>
</form>

和PHP 执行脚本:

<?php
//To be executed by clicking button:submit1
>?

<?php
//To be executed by clicking button:submit2
>?

这里我如何通过特定按钮设置特定执行以进行提交?


我可以在什么地方使用什么逻辑 condition/validation?

只需为提交按钮指定一个名称属性,然后在脚本中检查它是什么形式,如下所示:

<input name="form1" type=submit>

<?php

    if(isset($_POST["form1"])) {
        echo "first form";
    }

?>

编辑:

如果一个表单有 2 个提交按钮。也只需给他们名称属性,如:form1-1form1-2.