php怎么写表单多个处理,在php中处理表单的多个输入

我想知道如何处理来自具有多个属性的表单的多个输入.

此代码生成我的字段:

if($_SESSION["peoplecount"] != 0){

for ($i = 0; $i <= $_SESSION["peoplecount"]; $i++) {

echo ' Name Adult Minor
';

} }

?>

一旦提交 – 或者在“行动”部分中提到的test5.php,

foreach ($_POST as $key => $value) {

print "{$key}: {$value}
";

}

而输出是

0: adult

1: adult

2: adult

3: adult

注意它有0,1,2 ……然后是成人.它甚至没有提到文本输入中的人的名字.

我可以将表格改为:

if($_SESSION["peoplecount"] != 0){

for ($i = 0; $i <= $_SESSION["peoplecount"]; $i++) {

echo ' Name Adult Minor
';

} }

?>

使用相同的test5.php,我得到了

usersname:

age: adult

未发布age的值,test5.php中的foreach循环结束,因此行返回,然后完成一个完整的帖子.

我希望我做得很好解释.

我希望我的输出是:

SomeName成人

SomeOtherName Minor

….

解决方法:

您的问题是您正在创建两个名称为’$i’的表单输入,而第二个(单选按钮)正在覆盖第一个.我建议您使用包含$i的字符串来构建名称属性:

for ($i = 0; $i <= $_SESSION["peoplecount"]; $i++) {

echo ' Name Adult Minor
';

}

现在你的$_POST数组看起来像:

name-0: somename age-0: Adult

name-1: othername age-1: Minor

...

处理它的更好方法是使用数组作为表单名称属性[](注意我在这里切换到双引号,以避免所有额外的连接和复杂的引用.)

for ($i = 0; $i <= $_SESSION["peoplecount"]; $i++) {

echo " Name Adult Minor
";

}

在这种情况下,$_POST看起来像:

name: Array(

0: somename,

1: othername

),

age: Array (

0: adult,

1: minor

)

要访问它们,您可以像这样使用foreach循环:

foreach ($_POST['name'] as $key=>$name) {

echo "Name: $name Age: {$_POST['age'][$key]}";

}

标签:php,sql,forms,html

来源: https://codeday.me/bug/20190716/1481770.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值