带有多个提交按钮的PHP表单


PHP Form with multiple submit buttons

我有一个带有两个按钮的表单。这是一个提交表单,基本上是根据他们点击的按钮来增加/减少MySQL数据库中的整数值。

这是一个奇怪的场景,页面需要一个ID扩展;

appinfo.php?id=12

每当我点击其中一个按钮,它就会将扩展名更改为:

appinfo.php?VoteYes=Yes

理想情况下,我希望这样,如果有人点击"是",它会增加SQL查询中的值,如果他们点击"否",它就会减少值。

以下是我目前所拥有的:

<form action="<?php echo $_SERVER['PHP_SELF'] . "?id=" . $_GET['id']; ?>"/>
    <input id="submit" name="VoteYes" type="submit" value="Yes" class="btn btn-success"></input>
    <input id="submit" name="VoteNo" type="submit" value="No" class="btn btn-warning"></input>
</form>

<form>中添加属性method="post"。默认值为GET,它正在更改您的URL。

所以,它应该是:

<form method="post" action="<?php echo $_SERVER['PHP_SELF'] . "?id=" . $_GET['id']; ?>"/>
    <input id="submit" name="VoteYes" type="submit" value="Yes" class="btn btn-success"></input>
    <input id="submit" name="VoteNo" type="submit" value="No" class="btn btn-warning"></input>
</form>

然后在PHP代码中,在检查提交的值时,检查$_POST而不是$_GET

希望它能有所帮助!

如果您真的想要查询字符串,您可以使用包含id的隐藏输入来完成此操作,我还修改了名称,使其不那么复杂

<form>
<input id="submit" name="Vote" type="submit" value="Yes" class="btn btn-success" />
<input id="submit" name="Vote" type="submit" value="No" class="btn btn-warning" />
<input  name="id" type="hidden" value="<?php echo $_GET['id']?>" /></form>