确定在while循环中创建按钮时单击了哪个按钮

时间:2017-09-25 19:42:32

标签: php html

我在PHP中编写了一个while循环,它创建了许多按钮,这些按钮在下拉列表中包含各自的用户名,这些按钮与从数据库引入的某些用户名有关。 (它是添加系统的朋友)

我希望能够从点击的按钮中获取用户名并将其存储在变量中,我知道该怎么做,但我无法解决这个问题。

if($getAddFriendUsernamesResult)
            {
                $row=mysqli_fetch_array($getAddFriendUsernamesResult);
                while($row)
                {
                    $username = $row['username'];
                    if($username!=$_SESSION['_username']) #Doesnt print the users own name in add friends
                    {
                        ?><a><button class="AddFriendButton"><?php echo $row['username']; ?></button></a>
                        <?php   
                    }
                    $row=mysqli_fetch_array($getAddFriendUsernamesResult);
                }
            }

此时列出的所有用户名都接受登录在长列表中的人员。我想获取按钮的内容(单击按钮的用户名)并将其存储在php变量中。

1 个答案:

答案 0 :(得分:0)

首先,删除<a>标记。

然后按下namevalue按钮。

<button name="add_friend" class="AddFriendButton" value="<?= $row['username'] ?>">
    <?= echo $row['username']; ?>
</button>

然后(假设您的循环中的所有代码都包含在<form>元素中),您将能够从$_POST['add_friend']获取值。

总的来说,这样的事情:

<?php if ($getAddFriendUsernamesResult) {

    // open a form
    echo '<form method="post" action="add_friend.php">';
    while ($row = mysqli_fetch_array($getAddFriendUsernamesResult)) {
        $username = $row['username'];
        if ($username != $_SESSION['_username']) {

            // give each button a name and value - may want to use id instead of username
            echo "<button name='add_friend' value='$row[username]' class='AddFriendButton'>
                      $row['username']
                  </button>";
        };
    }
    echo '</form>';
}