Php 当名称属性位于数组中时,如何确定按下了哪个提交按钮?

Php 当名称属性位于数组中时,如何确定按下了哪个提交按钮?,php,html,mysql,Php,Html,Mysql,考虑: echo "<form action='edit.php' method='post'>"; while ($display = mysqli_fetch_assoc($newArticles)) { .... echo "<input type='submit' class='col-sm-offset-5 btn btn-default' name='delete[]' value='Delete article'>

考虑:

echo "<form action='edit.php' method='post'>";

while ($display = mysqli_fetch_assoc($newArticles)) {
                    ....
  echo "<input type='submit' class='col-sm-offset-5 btn btn-default' name='delete[]' value='Delete article'>" .
       "<input type='submit' class='col-sm-offset-1 btn btn-default' name='edit[]' value='Edit Article'>" ."<br/>"
                    ....
}
echo "</form>
echo”“;
而($display=mysqli\u fetch\u assoc($newArticles)){
....
“回声”。
“.”
” .... } 回声“
迭代完成后,我最终看到几个面板,其中包含删除和编辑按钮。我正在搜索如何区分它们的名称的解决方案,并发现我可以将它们添加到一个数组中


现在,所有名称属性都有了唯一的值。如何确定按下了哪一个属性?我是否应该采用其他方法?

一种方法是使用从查询中获得的id并将其插入HTML元素中

例如:

while ($display = mysqli_fetch_assoc($newArticles)) {
    echo "<input type='submit' class='col-sm-offset-5 btn btn-default' name='delete".$newArticles['id']."[]' value='Delete article'>";

  }  
while($display=mysqli\u fetch\u assoc($newArticles)){
回声“;
}  

单击提交按钮时,只有单击的提交按钮会随post请求一起发送到php(服务器)。因此,在提交按钮上保留相同的名称(无数组),并通过检查提交按钮的值来检查已发送的按钮

类似于:

<?php
if ($_POST['submitaction'] == 'Delete article') {
    //action for delete
} 
if ($_POST['submitaction'] == 'Edit Article') 
{
    //action for edit
} 

//Your code
   echo "<form action='edit.php' method='post'>";
      while ($display = mysqli_fetch_assoc($newArticles)) {
                          ....
        echo "<input type='submit' class='col-sm-offset-5 
        btn btn-default' name='submitaction' value='Delete article'>" .
             "<input type='submit' class='col-sm-offset-1 btn 
        btn-default' name='submitaction' value='Edit Article'>" ."<br/>"
                          ....
      }  
    echo "</form>

edit.php
中的
var\u dump($\u POST);
会给你什么输出?数组(5){[“name”]=>array(3){[0]=>string(16)“Hristiyan Anev\\\”[1]=>string(11)“Lorem Ipsum”[2]=>string(16)“James Goosling\\”[“article”=>array(3){[0]=>string(3567)这是上一个面板中的数组。@nirnae这并没有真正回答100%的问题?您如何确定单击了哪个按钮?感谢您的快速响应!问题是它对我来说不是那样工作的。当我发布['name']时(因为我有一个名为name='name'的隐藏输入)我从pannel中得到了名字,而不是我点击的名字?如果你想看完整的代码,这里是我的github:为什么不制作几个表单?(而不是把它放在循环之外,而是放在循环里面。(查看home.php)。如果您这样做,就不必创建数组输入字段。它正在工作。开始和结束应该在循环中。谢谢!很高兴听到!很高兴提供帮助!