如何使用 GET 发送表单的一部分,另一部分使用 POST?

How to send a part of the form with GET, another with POST?

我回显了一个表单,该表单使用 GET 方法通过多个输入类型 ="hidden" 发送 material。像这样:

echo '
<form action="somewhere.php" method="GET" name="whatever" id="whatever">
   <input type="hidden" name="get_method" value=" . '$foo' . ">
   <input type="hidden" name="want_to_send_with_post" value=" . '$my_post' . ">
</form>
';

这很好用,但是我如何将这些输入类型之一发送为 POST,因为它是决定方法的形式?有没有一种方法可以让单个输入类型覆盖表单方法?我知道输入按钮可以覆盖表单方法(请参阅 here),但这是在创建一个单独的实体。我想同时发送 GET 和 Post。

原因:我想用 Get 发送类别名称,用 POST 发送短信。

是的,你可以!在您要前往的 URL 中指定 GET 数据。

(我会在用户输入数据时使用 javascript 编辑 GET 信息)

<input type="text" id="get"> <!--user types get stuff here-->
<form action="somewhere.php?get=something" method="POST" id="form">
    <input type="hidden" name="post" value="<?= $mypost ?>" />
</form>

使用JS改变GET动作

var form = doc.getId("form")
var get = doc.getId("get").onkeyup = updateLoc;

function updateLoc() {
    form.action = "somewhere.php?get=" + get.value;
}

那么PHP可以分别处理$_POST["post"]$_GET["get"]