我的第一个多选表单存在问题。我已经阅读了很多帖子,但无法弄清楚如何打破阵列,以便我可以通过电子邮件发送多选表格的结果这就是我所拥有的。
<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,因为它没有用,所以我认为它更容易阅读,删除它。
答案 0 :(得分:1)
PHP的表单数据解析器有点......奇怪。如果该名称以[]
结尾,它将仅支持给定名称元素的多个值。
将您的HTML更改为:
<select name="serv[]" id="serv" multiple>
然后$_POST['serv']
将是一个你可以循环的arry。