确定在表单中单击了哪个按钮并在 PHP 脚本中获取其 'unique value'
Determining which button was clicked in a form and getting its 'unique value' in a PHP script
如果每个按钮都有唯一的名称,并且在后端处理时已知名称(检索从表单发送的数据时,在php 脚本)。如果套装包含不超过 2-3 个按钮,则更容易。但是当按钮名称是唯一的,但不知道,并且集合包含超过 20 个按钮时该怎么办。为了进一步解释,我使用了一个例子:
考虑 Facebook 的添加好友模块。该站点检查当前用户(帐户所有者)city/school 或其他相关数据,执行数据库查询,从同一 city/school 中检索随机用户列表。该模板显示列表,其中每个原始文件的右角都有一个蓝色按钮,上面写着 'Add Friend',左侧是用户信息。除了当前用户之外,没有人知道将要单击哪个按钮。现在假设一件有趣的事情,没有一个 fb 工程师知道 AJAX 或 JS 是什么。在这种情况下,如何检索单击添加好友按钮的用户的唯一 ID 并处理数据库查询,以便相应地发送 him/her 好友请求和 insert/update 行。我找不到一种方法来检索已单击按钮的唯一值(可能已分配为按钮 'name' 属性的值)以提前处理。
一个可能的选择是拥有多个隐藏表单,其中包含所有不同的 'Add Friend' 按钮,例如:
<form method="post" action="addFriend.php">
<input type="hidden" name="userid" value="123" />
<input type="submit" name="add" value="Add Friend" />
</form>
如果您有多个这样的表单并且只是更改了 "userid" 输入的值,您可以单击每个表单,它会转到一个页面以添加该用户。
如果您想在不刷新页面或重新定位的情况下执行此操作,那么我相信您可以做到的唯一方法是通过 AJAX
如果每个按钮都有唯一的名称,并且在后端处理时已知名称(检索从表单发送的数据时,在php 脚本)。如果套装包含不超过 2-3 个按钮,则更容易。但是当按钮名称是唯一的,但不知道,并且集合包含超过 20 个按钮时该怎么办。为了进一步解释,我使用了一个例子:
考虑 Facebook 的添加好友模块。该站点检查当前用户(帐户所有者)city/school 或其他相关数据,执行数据库查询,从同一 city/school 中检索随机用户列表。该模板显示列表,其中每个原始文件的右角都有一个蓝色按钮,上面写着 'Add Friend',左侧是用户信息。除了当前用户之外,没有人知道将要单击哪个按钮。现在假设一件有趣的事情,没有一个 fb 工程师知道 AJAX 或 JS 是什么。在这种情况下,如何检索单击添加好友按钮的用户的唯一 ID 并处理数据库查询,以便相应地发送 him/her 好友请求和 insert/update 行。我找不到一种方法来检索已单击按钮的唯一值(可能已分配为按钮 'name' 属性的值)以提前处理。
一个可能的选择是拥有多个隐藏表单,其中包含所有不同的 'Add Friend' 按钮,例如:
<form method="post" action="addFriend.php">
<input type="hidden" name="userid" value="123" />
<input type="submit" name="add" value="Add Friend" />
</form>
如果您有多个这样的表单并且只是更改了 "userid" 输入的值,您可以单击每个表单,它会转到一个页面以添加该用户。
如果您想在不刷新页面或重新定位的情况下执行此操作,那么我相信您可以做到的唯一方法是通过 AJAX