我目前正在尝试构建一个html / php表单,允许用户发送他们的联系信息并选择预定义产品的数量。到目前为止,联系信息工作正常,它发送电子邮件到我的电子邮件,其中包含联系信息,但每个产品的数量不起作用。请帮忙。
表单结构
命名: [INPUT FIELD]
名字: [INPUT FIELD]
消息: [INPUT FIELD]
产品:
Prod 1 [QUANTITY FIELD] - 简单的数字输入字段
Prod 2 [QUANTITY FIELD] - 简单的数字输入字段
Prod 3 [QUANTITY FIELD] - 简单的数字输入字段
无论如何,这是我的产品的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>"
依旧......
答案 0 :(得分:3)
首先不要使用@
标志。这真是邪恶。
您的值位于$_POST['quantity']
数组中,因此您可以像$_POST['quantity'][2]
那样访问它。
答案 1 :(得分:0)
以下示例已经过测试并且有效(最佳做法已被遗忘&#34;只是为了保持相同) 如果您的代码仍有问题,我建议您发布相关文件......
的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;
?>