我有一个带有两个按钮的表单。这是一个提交表单,基本上是根据他们点击的按钮来增加/减少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>