我目前正在尝试修改其他人创建的联系表单。当前表单处理php文件使用本文中提到的函数:http://www.gerd-riesselmann.net/archives/2005/09/sending-spam-through-contact-forms。
以下是格式化要发送的电子邮件的代码段。
if($_POST["txtEmail"]!=""){
$xm="info@xxx.co.uk";
$pem=$_POST["txtEmail"];
$sb="Chauffer Inquiry";
$txt=' <table border="1" cellpadding="3" cellspacing="0" style="border-collapse: collapse">
<tr>
<td align="right"><strong>Name:</strong></td>
<td width="250">'.preprocessHeaderField($_POST["txtName"]).'</td>
</tr>
<tr>
<td align="right"><strong>Date of booking:</strong></td>
<td width="250">'.preprocessHeaderField($_POST["date"]).'</td>
</tr>
我的问题是在此格式化部分中处理具有多选功能的列表框。我已经使用数组在表单中正确创建它,但我仍然无法弄清楚如何在此代码中处理它。有人可以解释如何在这里包含for语句吗?我在if语句之前捕获了这两个语句所选项目的数量。
$aCars = $_POST['Cars'];
$nCars = count($aCars);
我确实到处寻找,但找不到将for语句嵌入上述代码的方法。请放轻松,因为我的PHP技能不是很好。
答案 0 :(得分:0)
假设一切正常($ aCars和$ nCars)都有值,你想知道哪些是被选中的。
您需要将数组转换为sting才能打印出来。看看内爆功能。该函数允许您将数组元素“粘合”到一个字符串中。
$carString = implode(",", $aCars); // $carString will be 'Car1,Car2,Car3'
从那里你可以将它附加到$ txt。
$txt .= "<tr><td>Car names</td><td>".$carString. "</td></tr>";