PHP,EMAIL,Multiple Select下拉列表

时间:2013-04-26 22:30:38

标签: php

我的第一个多选表单存在问题。我已经阅读了很多帖子,但无法弄清楚如何打破阵列,以便我可以通过电子邮件发送多选表格的结果这就是我所拥有的。

<select name="serv" id="serv" multiple>
 <option value = "Business Advocacy">Business Advocacy</option>
 <option value = "Business Planning & Advice">Business Planning & Advice</option>
 <option value = "Economic Development">Economic Development</option>
 <option value = "Export Assistance">Export Assistance</option>

在我的php页面中,我有以下内容:

function sendMail()   
{
 $org= $_POST['org'];
 $street= $_POST['street'];
 $city=  $_POST['city'];
 $state= $_POST['state'];
 $zip=  $_POST['zip'];
 $phone= $_POST['phone'];
 $ext= $_POST['ext'];
 $web=  $_POST['web'];
 $serv= $_POST['serv'];
 $description= $_POST['description'];
 $first= $_POST['first'];      
 $last=  $_POST['last'];
 $email= $_POST['email'];
 $position=  $_POST['position'];


 $to= 'myEmail@mail.com';
 $message = '<html><body>';
 $message .= '<h1>Organizational Request To Be Added To Website</h1>';
 $message .= 'Org:' . $org . '<br />';
 $message .= 'Street:' . $street . '<br />';
 $message .= 'City:' . $city . '<br />';
 $message .= 'State:' . $state . '<br />';
 $message .= 'Zip:' . $zip . '<br />';
 $message .= 'Phone:' . $phone . '<br />';
 $message .= 'Ext.:' . $ext . '<br />';
 $message .= 'Web:' . $web . '<br />';
 $message .= 'Serv:' . $serv . '<br />';
 $message .= 'Desc:' . $description . '<br />';
 $message .= 'First:' . $first . '<br />';
 $message .= 'Last:' . $last . '<br />';
 $message .= 'Email:' . $email . '<br />';
 $message .= 'Position:' . $position . '<br />';
 $message .='</body></html>';
 $subject = "Website Request";
 $message = $message;
 $headers = "From:" . $email . "\r\n";
 mail($to, $subject, $message, $headers);
}

我遇到的问题是如何通过电子邮件发送$ serv数组内容。我尝试使用for循环计算这将是最简单的,但我只收到邮寄的内容之一。有人可以看看吗?我拿出了我在那里的forloop,因为它没有用,所以我认为它更容易阅读,删除它。

1 个答案:

答案 0 :(得分:1)

PHP的表单数据解析器有点......奇怪。如果该名称以[]结尾,它将仅支持给定名称元素的多个值。

将您的HTML更改为:

<select name="serv[]" id="serv" multiple>

然后$_POST['serv']将是一个你可以循环的arry。