处理多选列表框以设计电子邮件布局

时间:2012-11-08 14:45:04

标签: php forms multi-select

我目前正在尝试修改其他人创建的联系表单。当前表单处理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技能不是很好。

1 个答案:

答案 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>";