所以我在同一页面上有2-3次相同的表格,这是一个民意调查问题,它是从数据库中动态生成的,所以它和其他人一样,但是当我点击提交按钮时,我可以投票给其他人每个按钮与其他按钮名称相同......
我如何解决这个问题,以免影响其他民意调查?
形式是这样的:
<form action="" method="post" name="form">
radio buttons here...
<input type="submit" value="Vote" name="btn" />
</form>
答案 0 :(得分:2)
您可以在每个表单中使用不同的名称,也可以在每个表单中使用隐藏字段来表示问题ID。
<form action="" method="post" name="form">
radio buttons here...
<input type="hidden" name="poll_id" value="(Your_question_id)">
<input type="submit" value="Vote" name="btn" />
</form>
所以,在此之后,在SQL部分中只需在poll_id
子句中添加WHERE
。认为这应该工作
答案 1 :(得分:1)
您必须为您的表单使用id字段。我的网站上还有多个表单。所以我总是将一个带有表单名称(id)的隐藏字段发送回服务器。当我的应用程序收到POST请求时,我首先读取带有表单ID的隐藏字段。你可以这样做,所以你知道民意调查ID。当用户没有选择任何单选按钮时,我不明白你的问题。
答案 2 :(得分:1)
最简单的解决方案是改变表单操作 - 然后它将指向不同的uri应该做的伎俩:
<form action=".../vote/id-of-first-poll">
...
</form>
<form action=".../vote/id-of-second-poll">
...
</form>
<form action=".../vote/id-of-third-poll">
...
</form>
然后你只需将从url传递的id应用到更新查询中的“where”...
BTW:不确定你有多高级,所以如果你没有使用任何框架,那么拥有这样的网址可能要容易得多:然后你可以通过$ _GET [“id”]
获得该ID