我目前正在尝试构建一个html.php表单,允许用户发送他们的联系信息并选择预定义产品的数量。到目前为止,联系信息运行良好,它向我的电子邮件发送了一封包含联系信息的电子邮件,但每个产品的数量都不起作用。请帮忙。
表单结构
名称:[输入字段]
姓氏:[输入字段]
消息:[输入字段]
产品:
Prod 1[数量字段]-简单数字输入字段
Prod 2[数量字段]-简单数字输入字段
Prod 3[数量字段]-简单数字输入字段
无论如何,这是我的产品的PHP代码,我使用的是数组。
<?php
$my_products = array(
'0' => 'product 0',
'1' => 'product 1',
'2' => 'product 2',
'3' => 'product 3',
'4' => 'product 4',
'5' => 'product 5',
'6' => 'product 6',
'7' => 'product 7',
'8' => 'product 8',
'9' => 'product 9'
'10' => 'product 10'
);
foreach ($my_products as $key => $value) {
echo "<div class='"col-xs-6'" style='"margin: 10px 0 5px 0;'">";
echo "<li class='"list-group-item'" data-style='"button'">";
echo $value;
echo "<input class='"form-control selectBox'" maxlength='"2'" min='"0'" max='"10'" type='"number'" onkeypress='"return isNumeric(event)'" oninput='"maxLengthCheck(this)'" name='"quantity[$key]>'"";
echo "</li>";
echo "</div>";
}
?>
我试图从输入字段(数量)中回显结果,但它不起作用,它说它是未定义的。
在html文件的后面,我有php邮件功能,正如我所说,除了数量之外,其他一切都可以工作。
$products = array(
@$_POST['quantity[0]'],
@$_POST['quantity[1]'],
@$_POST['quantity[2]'],
@$_POST['quantity[3]'],
@$_POST['quantity[4]'],
@$_POST['quantity[5]'],
@$_POST['quantity[6]'],
@$_POST['quantity[7]'],
@$_POST['quantity[8]'],
@$_POST['quantity[9]'],
@$_POST['quantity[10]']);
$message = "<br /><strong>".$products[0]." - product 0</strong>"
. "<br /><strong>".$products[1]." - product 1</strong>"
. "<br /><strong>".$products[2]." - product 2</strong>"
等等。
首先不要使用@
符号。这真的很邪恶。
您的值在$_POST['quantity']
数组中,因此您可以像$_POST['quantity'][2]
那样访问它。
下面的例子经过了测试并有效(为了保持一致,已经"忘记"了最佳实践)如果你的代码仍然有问题,我建议你发布相关文件。。。
index.php
<?php
$my_products = array(
'0' => 'product 0',
'1' => 'product 1',
'2' => 'product 2',
'3' => 'product 3',
'4' => 'product 4',
'5' => 'product 5',
'6' => 'product 6',
'7' => 'product 7',
'8' => 'product 8',
'9' => 'product 9',
'10' => 'product 10');
?>
<form action="show.php" method="post" accept-charset="utf-8">
<?php
foreach ($my_products as $key => $value) {
echo "<div class='"col-xs-6'" style='"margin: 10px 0 5px 0;'">";
echo "<li class='"list-group-item'" data-style='"button'">";
echo $value;
echo "<input class='"form-control selectBox'" maxlength='"2'" min='"0'" max='"10'" type='"number'" name='"quantity[$key]>'"";
echo "</li>";
echo "</div>";
}
?>
<input type="submit">
</form>
show.php
<?php
$products = array(
$_POST['quantity']['0'],
$_POST['quantity']['1'],
$_POST['quantity']['2'],
$_POST['quantity']['3'],
$_POST['quantity']['4'],
$_POST['quantity']['5'],
$_POST['quantity']['6'],
$_POST['quantity']['7'],
$_POST['quantity']['8'],
$_POST['quantity']['9'],
$_POST['quantity']['10']);
$message = "<br /><strong>".$products[0]." - product 0</strong>"
. "<br /><strong>".$products[1]." - product 1</strong>"
. "<br /><strong>".$products[2]." - product 2</strong>";
echo $message;
?>