如何查找用户创建的按钮的值

24 浏览
0 Comments

如何查找用户创建的按钮的值

起初,我创建了按钮,因此我知道按钮的名称并能够使用以下代码:

//当按钮被点击时执行的函数
if (isset($_POST['按钮的名称'])) {
}

我只需在我的函数“按钮被点击”中手动编写按钮的名称。

然而,现在按钮是通过PHP和SQL从用户数据中创建的。

我像这样创建按钮,它能正常工作:

$sql = "SELECT * FROM chooseCategory";
$result = mysqli_query($con,$sql);
while($row = mysqli_fetch_array($result)) {
    echo ' 
    ';
}

我的问题是,我如何创建我的函数“按钮被点击”,以便它能根据用户输入创建的按钮动态工作,而不是我在代码中手动创建它们。

0
0 Comments

如何找到用户创建的按钮的值?

问题出现的原因:

- 在代码中创建了一个隐藏的输入框,并在点击按钮时设置其值;

- 在提交表单时,检查是否存在名为"clicked-button"的POST数据,并且该数据对应的按钮也存在。

解决方法:

1. 在代码中创建隐藏的输入框,并在点击按钮时设置其值。

2. 在提交表单时,检查是否存在名为"clicked-button"的POST数据,并且该数据对应的按钮也存在。

以下是实现该解决方法的代码:

$sql = "SELECT * FROM chooseCategory";
$result = mysqli_query($con,$sql);
echo '';
while($row = mysqli_fetch_array($result)) {
    echo '';
}
echo '';
if ((isset($_POST["clicked-button"])) && (isset($_POST[$_POST["clicked-button"]]))) {
    $clickedButton = $_POST[$_POST["clicked-button"]];
    //the name of the clicked button is stored in $clickedButton
}

以上就是如何找到用户创建的按钮的值的原因和解决方法。如果你在JSFiddle中测试代码时遇到问题,可以查看页面源代码来找到问题所在。

0
0 Comments

问题:如何找到一个用户创建的按钮的值?

原因:如果创建了多个提交按钮,只有被点击的按钮会随表单一起提交,其他按钮会被忽略,即使它们有值。

解决方法:可以创建多个具有相同名称的提交按钮,并仅更改它们的值,如下所示。

while($row = mysqli_fetch_array($result)) {
    echo '';
}

当表单被提交时,`$_POST['submitted-btn']` 将包含被点击按钮的 `$row['name']`。

因此,您可以在页面中使用 `if(isset($_POST['submitted-btn']))` 来检查表单是否被提交,并使用 `$_POST['submitted-btn']` 来获取被点击的按钮。

请注意,生成的HTML在提交到服务器时会产生一个非常不同的 `$_POST`,因此如果代码依赖于给定的结构,则可能需要更改您的代码。

0