假设我有一个在HTML表单中有多个表单输入的"fieldname"
。形式为name="fieldname[]"
。
然后设置一个fieldname
变量:
$fieldname = $_POST['fieldname'];
然后我将使用一个循环来访问每个值:
foreach ( $_POST['fieldname'] as a_name ) {
echo $a_name;
}
我想在下面的$email_body
变量中使用"fieldname"
中的每个值,然后在邮件函数中使用。
我有一个email_body变量,在我的邮件函数中使用:$email_body = "Auto Quote'n From: $email 'n $address, $carrier"
我应该把email_body包含在foreach循环的括号中吗?然后把$a_name
变量放在引号里?或者在我的(未显示)邮件功能中使用它会更好吗?
如果我理解正确,您不确定如何在消息正文中使用$a_name
变量。当然,如何做到这一点取决于您想要在消息体中放置表单输入的位置,但是下面的方法可以工作:
$fieldname = $_POST['fieldname'];
$email_body = "Auto Quote'n From: $email 'n $address, $carrier 'n"
foreach ($_POST['fieldname'] as $a_name ) {
$email_body .= $a_name . "'n";
}
这将把"fieldname"表单中的输入附加到消息正文中。如果你想把输入放在一个不同的地方,你应该很清楚地把东西调换一下。div;)
你几乎什么都做了。$_POST['fieldname']
是一个数组,所以在$fieldname = $_POST['fieldname'];
之后,数组的副本在$fieldname
中,不再需要使用$_POST['fieldname']
。
将每个内容添加到邮件正文:
$body = 'Whatever text before: ';
foreach ($fieldname as $index => $value ) {
$body .= $index . ': ' . $value . ';';
}
$body .= 'text after.';
//send your e-mail
您可以直接使用$_POST['fieldname']
而不使用$fieldname
变量
我放了一个索引,如果你想忽略它,如果需要,请参阅PHP foreach
文档http://php.net/manual/en/control-structures.foreach.php.
当使用来自客户端的文本时,您必须意识到这样一个事实,即一行上的点本身结束了电子邮件正文,我不知道PHP邮件函数如何处理此问题,可能需要进行一些测试