确定在表单中单击了哪个按钮,并在 PHP 脚本中获取其“唯一值”


Determining which button was clicked in a form and getting its 'unique value' in a PHP script

如果每个按钮都有一个唯一的名称,并且该名称在后端处理时(在 PHP 脚本中检索从表单发送的数据时)是已知的,则很容易从一组按钮中分辨出哪个按钮被单击。如果该套装包含不超过 2-3 个按钮,则更容易。但是,当按钮名称唯一但未知且 set 包含 20 多个按钮时该怎么办。为了进一步解释,我使用一个例子:

考虑Facebook的添加朋友模块。该站点检查当前用户(帐户所有者)的城市/学校或其他相关数据,执行数据库查询,从同一城市/学校检索用户的随机列表。该模板显示列表,其中每个原始数据在其右上角都有一个蓝色按钮,在其右上角显示"添加朋友",在其左侧显示用户信息。除了当前用户之外,没有人知道将单击哪个按钮。现在假设一件有趣的事情,没有一个fb工程师知道AJAX或JS是什么。在这种情况下,如何检索单击其"添加朋友"按钮的用户的唯一 ID 并处理数据库查询,以便向他/她发送好友请求并相应地插入/更新行。我找不到一种方法来检索单击按钮的唯一值(可以分配为按钮的"name"属性的值)以继续处理。

一个可能的选择是拥有多个隐藏表单,这些表单具有所有不同的"添加朋友"按钮,例如:

<form method="post" action="addFriend.php">
    <input type="hidden" name="userid" value="123" />
    <input type="submit" name="add" value="Add Friend" />
</form>

如果您有多个这样的表单,并且只是更改了"userid"输入的值,您可以单击每个表单,它会转到一个页面来添加该用户。

如果您想在不刷新页面或重新定位的情况下执行此操作,那么我相信您唯一可以做到这一点的方法是通过 AJAX