Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 当一个页面上有多个表单/提交按钮可用时,处理提交的$\u POST值_Php - Fatal编程技术网

Php 当一个页面上有多个表单/提交按钮可用时,处理提交的$\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

这个foreach循环创建大约120个表行

每行有两个输入字段,用户可以在其中更新/更改名字和姓氏

更改输入值后,用户单击“保存”按钮以使用$\u POST发送输入值

    <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”
属性显然是错误的,其次,表单会出现错误:它会