我正在尝试创建一个 HTML 表单,它允许您创建人员列表(名字、姓氏和他们的公司)。我希望通过电子邮件(通过 PHP)将此人员列表与表单上的所有其他数据一起发送。
似乎创建一个数组是要走的路,所以我通过 HTML 和 jQuery 尝试了这个:
$('#add').click(function(e)
{
$('#namelist').append('<p class="nameentry"><input type="text" name="cfsName[]" value="' + cName + ": " + fName + " " + sName + '" class="cfsname" disabled /> <input type="button" name="remove" class="remove" value="Remove" /></p>');
fName = $('input[name=inputfName]').val('Forename');
sName = $('input[name=inputsName]').val('Surname');
e.preventDefault();
});
HTML 被添加到名为 cfsname[] 的数组中的空 div 中(据我所知)。
解释这一点并应该撰写电子邮件的 PHP 代码是:
$message = "";
if (isset($_REQUEST['visitor']) && $_REQUEST['visitor'] == "Yes")
{
$message .= "Nature of work: Site visit" . "\n";
}
else
{
$message .= "Nature of work: $natureofwork" . "\n";
}
$message .= "Location: $locationofwork" . "\n\n";
$message .= "Dates: $dayfrom " . "$monthfrom " . "$yearfrom " . "to $dayto " . "$monthto " . "$yearto" . "\n";
$message .= "Times: $hourfrom" . ":" . "$minfrom " . "to " . "$hourto" . ":" . "$minto" . "\n\n";
foreach($_POST['cfsName'] as $key => $value)
{
$message .= $key . " " . $value . "\n";
}
$message .= "Project Manager: $projectmanager" . "\n";
$message .= "Contact Number: $contactnumber" . "\n";
mail(
$emailto,
"Worksheet Info Test",
$message,
$headers
);
电子邮件基本上按预期发送(我的“if”循环也不起作用,但现在这并不重要),但是应该包含从数组中获取的名称列表的部分是空白的。我显然在做一些完全错误的事情。我什至可以在消息代码中调用“foreach”吗?我的 HTML 数组是否正确编写?我应该以某种方式将 HTML 数组转换为单独的 PHP 数组吗?
如果有人能在我的代码中看到任何重大缺陷(我敢肯定有很多小缺陷),我真的很感激朝着正确的方向推进!