Php 发送电子邮件阵列(foreach)
我需要用PHP通过电子邮件发送一系列产品,但我在使用“foreach”时遇到了麻烦 这是我的代码:Php 发送电子邮件阵列(foreach),php,jquery,arrays,forms,email,Php,Jquery,Arrays,Forms,Email,我需要用PHP通过电子邮件发送一系列产品,但我在使用“foreach”时遇到了麻烦 这是我的代码: //Form <form action="" method="post"> <select name="product[]" class="product" > <option value="product1">product1</option> <option value="product2">produ
//Form
<form action="" method="post">
<select name="product[]" class="product" >
<option value="product1">product1</option>
<option value="product2">product2</option>
<option value="product3">product3</option>
</select>
<input type="text" name="boxes[]" value="Boxes:" class="boxesInput" size="20">
</form>
这是sendmail.php文件
//sendemail.php
$producto = $_POST['product'];
$boxes = $_POST['boxes'];
$body = "Order Details \n" ;
这就是问题所在,即:
foreach($producto as $id => $row )
{
$body .= "Product: " . $producto[$id] . "\n";
$body .= "Boxes: " . $boxes[$id] . "\n";
}
$mailTo = 'my@email.com';
$subject = "Quotes Form";
$headers = 'From: <'.$mailTo.'> ' . "\r\n" . 'Reply-To: ' . $mailTo;
mail($mailTo, $subject, $body, $headers);
foreach($producto作为$id=>$row)
{
$body.=“产品:”..$producto[$id]。“\n”;
$body.=“盒子:”.$BOXS[$id]。“\n”;
}
$mailTo=my@email.com';
$subject=“报价单”;
$headers='From:'。“\r\n”。”答复:"$梅托;
邮件($mailTo、$subject、$body、$headers);
正如Serj所指出的,为了让php理解表单数据,您需要序列化表单数据。可能更好用
$.post("sendmail.php", $("form").serialize());
发送表单数据。另一个问题是声明变量
$boxes = $_POST['boxes'];
但是foreach试图访问$cajas[$id]
?如果将foreach循环更改为
foreach($producto as $id => $row )
{
$body .= "Producto: " . $producto[$id] . "\n";
$body .= "Cajas: " . $boxes[$id] . "\n";
}
它应该会起作用。请注意,表单元素实际上适合生成数组,因为它们只接受单个值。jQuery.val将创建一个JavaScript数组,该数组与PHP数组不兼容。您需要在JavaScript中序列化,并在PHP中取消序列化: 这就是这样一种功能:
你必须告诉我们出了什么问题。使用超级全球$\u帖子获取数据。不需要jQuery.Well,$.post()应该是一个ajax调用。。。为此,您需要jQuery/javascript。据我所知,他在sendmail.php中使用了$\u POST…:-|
.val()
返回的是字符串,而不是数组。Serj是错误的-1.在你责骂别人读文件之前,确保你知道。只选择多个返回一个数组。这正是他在本例中试图做的!!!请看name=“product[]”这两个括号创建了一个数组!是的,他还需要在他的HTML中添加一个多属性。。。为了让他的用户能够选择多个,但括号会创建一个数组,同样,请在发布垃圾之前查找它!可以没有必要大喊大叫。
foreach($producto as $id => $row )
{
$body .= "Producto: " . $producto[$id] . "\n";
$body .= "Cajas: " . $boxes[$id] . "\n";
}