Php 从id属性中检索值

Php 从id属性中检索值,php,arrays,forms,input,Php,Arrays,Forms,Input,我想列出数据库中的成员,每个成员旁边有两个按钮(删除成员和更改信息)。下面是到目前为止的代码,但问题是我不知道如何从输入按钮(位于id属性中)检索成员id。这怎么可能呢 这就是我想要的: 姓名:史蒂文·拉森[删除按钮][更改信息按钮] 姓名:Julia Segal[删除按钮][获取更多信息按钮] 等等 到目前为止在MemberView.php中的代码: public function ShowMembers($memberIds) { $i = 0; foreach

我想列出数据库中的成员,每个成员旁边有两个按钮(删除成员和更改信息)。下面是到目前为止的代码,但问题是我不知道如何从输入按钮(位于id属性中)检索成员id。这怎么可能呢

这就是我想要的:
  • 姓名:史蒂文·拉森[删除按钮][更改信息按钮]
  • 姓名:Julia Segal[删除按钮][获取更多信息按钮]
  • 等等
到目前为止在MemberView.php中的代码:

public function ShowMembers($memberIds) {

    $i = 0;
        foreach ($memberIds as $memberId) {
            $listOfMembers =
            "<b>Name:</b> $fNames[$i] $lNames[$i]
            <input type='submit' id='$memberId' name='delete' value='Delete member' />
            <input type='submit' id='$memberId' name='changeInfo' value='Change info' />
            $i += 1;
        }

    $html = "<form method='post'>
               <p>$listOfMembers</p>;
            </form>";

    return $html;
}

public function TriedToDelete() {
    if (isset($_POST[delete])){
        return $_POST[delete];
    }
}
公共函数ShowMembers($memberId){
$i=0;
foreach($memberId作为$memberId){
$listOfMembers=
“名称:$fNames[$i]$lNames[$i]
$i+=1;
}
$html=”
$listOfMembers

; "; 返回$html; } 公共函数TriedToDelete(){ 如果(isset($\U POST[delete])){ 返回$_POST[删除]; } }

您应该使用存储memberid的隐藏字段

并使用

$id=$\u POST['id'];


您应该使用存储memberid的隐藏字段

并使用


$id=$\u POST['id'];

html中两个元素的第一个id应该是唯一的

在您的情况下,删除和更改按钮id应该与

public function ShowMembers($members) { $i = 0; foreach ($memberIds as $memberId) { $listOfMembers = "Name: $fNames[$i] $lNames[$i] $i += 1; } return $html; } 公共功能展示会员($members){ $i=0; foreach($memberId作为$memberId){ $listOfMembers= “名称:$fNames[$i]$lNames[$i] $i+=1; } 返回$html; } 若你们是通过表单发布,表单应该是不同的,否则它会设置两个输入字段,这样你们就不知道你们到底想做什么

现在
$POST[$\u POST['member\u id']。“\u del”]
将是您的del请求


$POST[$\u POST['member\u id']。“\u change”]
将是您的更改按钮

第一个id应该是html中两个元素中唯一的

在您的情况下,删除和更改按钮id应该与

public function ShowMembers($members) { $i = 0; foreach ($memberIds as $memberId) { $listOfMembers = "Name: $fNames[$i] $lNames[$i] $i += 1; } return $html; } 公共功能展示会员($members){ $i=0; foreach($memberId作为$memberId){ $listOfMembers= “名称:$fNames[$i]$lNames[$i] $i+=1; } 返回$html; } 若你们是通过表单发布,表单应该是不同的,否则它会设置两个输入字段,这样你们就不知道你们到底想做什么

现在
$POST[$\u POST['member\u id']。“\u del”]
将是您的del请求


$POST[$\u POST['member\u id']。“\u change”]
将是您的更改按钮

我建议使用

$i+=1;
}

您不再需要使用复杂的表单解决方案,也不需要依赖于所单击按钮的名称

我建议您使用

$i+=1;
}

您不再需要使用复杂的表单解决方案,也不需要依赖于所单击按钮的名称,您有几个选项来处理您试图完成的任务:

  • 将按钮转换为链接,并使用
    GET
    而不是
    POST
    。您可以将查询字符串设置为类似
    ?action=delete&id=$memberId
尝试:


  • 单击每个按钮时,使用JavaScript设置隐藏字段
尝试:


功能提交(按钮){
document.getElementById('id')。value=button.getAttribute('id');
document.getElementById('action')。value=button.getAttribute('name');
button.form.submit();
}
以及您将使用的每个按钮:

$listOfMembers .= "<input type='button' id='$memberId' name='delete' value='Delete member' onclick='submit(this);'  />";
$listOfMembers .= "<input type='button' id='$memberId' name='changeInfo' value='Change info' onclick='submit(this);' />";
$listOfMembers.=”;
$listOfMembers.=“”;

这实际上是一个意见问题,但如果你必须使用POST,我会亲自建议第二个选项(每组一个单独的表单);否则,第一个选项(使用GET)将是最简单的。

你有几个选项来处理你试图完成的任务:

  • 将按钮转换为链接,并使用
    GET
    而不是
    POST
    。您可以将查询字符串设置为类似
    ?action=delete&id=$memberId
尝试:


  • 单击每个按钮时,使用JavaScript设置隐藏字段
尝试:


功能提交(按钮){
document.getElementById('id')。value=button.getAttribute('id');
document.getElementById('action')。value=button.getAttribute('name');
button.form.submit();
}
以及您将使用的每个按钮:

$listOfMembers .= "<input type='button' id='$memberId' name='delete' value='Delete member' onclick='submit(this);'  />";
$listOfMembers .= "<input type='button' id='$memberId' name='changeInfo' value='Change info' onclick='submit(this);' />";
$listOfMembers.=”;
$listOfMembers.=“”;

这实际上是一个意见问题,但如果你必须使用POST,我个人会建议第二个选项(每组一个单独的表单);否则,第一个选项(使用GET)将是最简单的。

你在
$listOfMembers
末尾缺少一个结束语,这不应该是
foreach($memberID)吗
或者,参数应该是
函数($membersIDs){}
?您在
$listOfMembers
的末尾缺少一个结束引号,这不应该是
foreach($memberID)或者,参数应该是
函数($membersIDs){}
?非常感谢您的详细回答。:)非常感谢您的详细回答。:)
foreach ($memberIds as $memberId) {
    $listOfMembers = "<b>Name:</b> $fNames[$i] $lNames[$i]";
    $listOfMembers .= '<form method="post">';
    $listOfMembers .= '<input type="hidden" name="id" value="' . $memberId . '" />';
    $listOfMembers .= "<input type='submit' name='delete' value='Delete member' />";
    $listOfMembers .= "<input type='submit' name='changeInfo' value='Change info' />";
    $listOfMembers .= '</form>';
    $i += 1;
}
<script>
    function submit(button) {
        document.getElementById('id').value = button.getAttribute('id');
        document.getElementById('action').value = button.getAttribute('name');
        button.form.submit();
    }
</script>
$listOfMembers .= "<input type='button' id='$memberId' name='delete' value='Delete member' onclick='submit(this);'  />";
$listOfMembers .= "<input type='button' id='$memberId' name='changeInfo' value='Change info' onclick='submit(this);' />";