如何访问表单输入变量值与多个输入使用循环在php


How to access form input variable values with multiple inputs using a loop in php?

假设我有一个在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邮件函数如何处理此问题,可能需要进行一些测试