Php 当一个页面上有多个表单/提交按钮可用时,处理提交的$\u POST值
这个foreach循环创建大约120个表行 每行有两个输入字段,用户可以在其中更新/更改名字和姓氏 更改输入值后,用户单击“保存”按钮以使用$\u POST发送输入值Php 当一个页面上有多个表单/提交按钮可用时,处理提交的$\u POST值,php,Php,这个foreach循环创建大约120个表行 每行有两个输入字段,用户可以在其中更新/更改名字和姓氏 更改输入值后,用户单击“保存”按钮以使用$\u POST发送输入值 <table> <? foreach ($members as $member) {?> <form name="member" action="" method="POST"> <tr> <td><input name="i
<table>
<? foreach ($members as $member) {?>
<form name="member" action="" method="POST">
<tr>
<td><input name="id" type="hidden" value="<? echo $member['id'] ?>"></td>
<td><input name="first_name" type="text" value="<? echo $member['first_name'] ?>"></td>
<td><input name="last_name" type="hidden" value="<? echo $member['last_name'] ?>"></td>
<td><input type="submit" value="Save"></td>
</tr>
</form>
<? } ?>
表单
是否只提交提交按钮所在的
-标记内的值,或者是否有其他解决方案防止值在其他表单之间混淆?因为表单标记位于foreach循环内,然后是:每个提交按钮将只提交与单击的提交按钮在同一表单上的名字
和姓氏
值
但是,您的html无效。有效的html要求您在表格单元格(
td
tag)中创建每个表单,或者找到一种不同的方式将保存按钮与特定字段关联起来(使用一些javascript或不同的标记)。查看此答案:因为表单标记位于foreach循环中,那么是:每个提交按钮将只提交与单击的提交按钮位于同一表单上的首名
和姓氏
值
但是,您的html无效。有效的html要求您在表格单元格(
td
tag)中创建每个表单,或者找到一种不同的方式将保存按钮与特定字段关联起来(使用一些javascript或不同的标记)。查看此答案:因为表单标记位于foreach循环中,那么是:每个提交按钮将只提交与单击的提交按钮位于同一表单上的首名
和姓氏
值
但是,您的html无效。有效的html要求您在表格单元格(
td
tag)中创建每个表单,或者找到一种不同的方式将保存按钮与特定字段关联起来(使用一些javascript或不同的标记)。查看此答案:因为表单标记位于foreach循环中,那么是:每个提交按钮将只提交与单击的提交按钮位于同一表单上的首名
和姓氏
值
但是,您的html无效。有效的html要求您在表格单元格(
td
tag)中创建每个表单,或者找到一种不同的方式将保存按钮与特定字段关联起来(使用一些javascript或不同的标记)。请参阅此答案:您需要为每个表单使用不同的表。但您可以根据计数器保留不同的名称来区分字段。像这样:
<?
$i = 0;
foreach ($members as $member) {
?>
<table>
<form name="member" action="" method="POST">
<tr>
<td><input name="<?php echo 'id_'.$i;?>" type="hidden" value="<? echo $member['id'] ?>"></td>
<td><input name="<?php echo 'first_name_'.$i;?>" type="text" value="<? echo $member['first_name'] ?>"></td>
<td><input name="<?php echo 'last_name_'.$i;?>" type="hidden" value="<? echo $member['last_name'] ?>"></td>
<td><input type="submit" value="Save"></td>
</tr>
</form>
</table>
<?php
$i++;
} ?>
您需要为每个表单使用不同的表。但您可以根据计数器保留不同的名称来区分字段。像这样:
<?
$i = 0;
foreach ($members as $member) {
?>
<table>
<form name="member" action="" method="POST">
<tr>
<td><input name="<?php echo 'id_'.$i;?>" type="hidden" value="<? echo $member['id'] ?>"></td>
<td><input name="<?php echo 'first_name_'.$i;?>" type="text" value="<? echo $member['first_name'] ?>"></td>
<td><input name="<?php echo 'last_name_'.$i;?>" type="hidden" value="<? echo $member['last_name'] ?>"></td>
<td><input type="submit" value="Save"></td>
</tr>
</form>
</table>
<?php
$i++;
} ?>
您需要为每个表单使用不同的表。但您可以根据计数器保留不同的名称来区分字段。像这样:
<?
$i = 0;
foreach ($members as $member) {
?>
<table>
<form name="member" action="" method="POST">
<tr>
<td><input name="<?php echo 'id_'.$i;?>" type="hidden" value="<? echo $member['id'] ?>"></td>
<td><input name="<?php echo 'first_name_'.$i;?>" type="text" value="<? echo $member['first_name'] ?>"></td>
<td><input name="<?php echo 'last_name_'.$i;?>" type="hidden" value="<? echo $member['last_name'] ?>"></td>
<td><input type="submit" value="Save"></td>
</tr>
</form>
</table>
<?php
$i++;
} ?>
您需要为每个表单使用不同的表。但您可以根据计数器保留不同的名称来区分字段。像这样:
<?
$i = 0;
foreach ($members as $member) {
?>
<table>
<form name="member" action="" method="POST">
<tr>
<td><input name="<?php echo 'id_'.$i;?>" type="hidden" value="<? echo $member['id'] ?>"></td>
<td><input name="<?php echo 'first_name_'.$i;?>" type="text" value="<? echo $member['first_name'] ?>"></td>
<td><input name="<?php echo 'last_name_'.$i;?>" type="hidden" value="<? echo $member['last_name'] ?>"></td>
<td><input type="submit" value="Save"></td>
</tr>
</form>
</table>
<?php
$i++;
} ?>
非常感谢。当表单位于foreach循环之外时,解决方案是什么?有教程吗?非常感谢。如果表单标记位于每个循环的外部,则表单将包含具有重复名称的
元素:名字
,姓氏
。首先,使用重复的“name”
属性显然是错误的,其次,表单会出现错误:它不会为输入提交正确的值。@SasankaPanguluri谢谢-但是当表单在表单
-tag?@Divey之外时,有人如何处理这个问题?但是在td
标签中创建一个新的teable,就像在链接的答案中一样,当还有td
标签?@Mike这很复杂。但是,下面是如何操作的:保留一个隐藏输入
字段,以跟踪表单中名和姓字段的数量。让我们打那个号码$count
。并在每个名称标记后面附加一个数字。在循环中,只需说“first\u name$count”
,姓氏也是如此。在循环外部初始化$count
。在}
之前,增加$count
。谢谢!当表单位于foreach循环之外时,解决方案是什么?有教程吗?非常感谢。如果表单标记位于每个循环的外部,则表单将包含具有重复名称的
元素:名字
,姓氏
。首先,使用重复的“name”
属性显然是错误的,其次,表单会出现错误:它不会为输入提交正确的值。@SasankaPanguluri谢谢-但是当表单在表单
-tag?@Divey之外时,有人如何处理这个问题?但是在td
标签中创建一个新的teable,就像在链接的答案中一样,当还有td
标签?@Mike这很复杂。但是,下面是如何操作的:保留一个隐藏输入
字段,以跟踪表单中名和姓字段的数量。让我们打那个号码$count
。并在每个名称标记后面附加一个数字。在循环中,只需说“first\u name$count”
,姓氏也是如此。在循环外部初始化$count
。在}
之前,增加$count
。谢谢!当表单位于foreach循环之外时,解决方案是什么?有教程吗?非常感谢。如果表单标记位于每个循环的外部,则表单将包含具有重复名称的
元素:名字
,姓氏
。首先,使用重复的“name”
属性显然是错误的,其次,表单会出现错误:它会