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